For both stemmer and root extraction Alkhalil. It was implemented using Java. However, it has many outputs with different patterns. So, you want to choose from these outputs the most important or suitable one. It is a comprehensive stemmer. You may use it natural language understanding. If you are going to use the stemmer in information retrieval I suggest Khoja algorithms because it unambiguous and easy to implement and in IR domain the errors in stemmer maybe accepted.
i am using Lucene right now.. i find it diffcult to use i need much time to understand every thing about it such as lexical analysis and stemming and removing stop words,, i am traying to build an Arabic text calssifier
Also, you can use Lucene in Action book to know the basic in English for using Lucene library. Then you can build your Arabic classifier. Also, I think there is classifier libraries (source codes) if you google about it.
Also, you can use www.github.com website and http://sourceforge.net/ among others for available source code.
Also, check this survey by now publisher for Arabic IR
NTLK and some other libraries contains Arabic stemmer but I think the fastest IR package is Lucene. Also, you check GATE library for information Extraction https://gate.ac.uk/gate/doc/plugins.html#Lang_Arabic and it is especially working for Arabic ontology https://gate.ac.uk/sale/tao/splitch13.html#x18-33800013.7
More recent POS taggers: Farasa, ADAM, Multi-dialect Arabhic Pos tagging: A CRF approach and Part of Speech tagging for Arabic gulf Dialect using Bi-LSTM
The best for information retrieval in terms of MAP and P@ is Farasa stemmer compared to light stemming, Khodja, MADMAIRA, you can refer to Abdelali A, Darwish K, Durrani N et al. Farasa: A fast and furious segmenter for arabic. In Proceedings of the
Demonstrations Session, NAACL HLT 2016, The 2016 Conference of the North American Chapter of the Association
for Computational Linguistics: Human Language Technologies, San Diego California, USA, June 12-17, 2016. pp.