Я пытаюсь найти лучший способ грамматически определить, работает ли моя программа на Jboss 5 или Jboss 7 (eap-6.1). Пути, которые я нашел до сих пор, - это jboss 5 или jboss 7, которые не работают, потому что код должен работать в обоих. Попробовали оба решения отсюда: How do I programmatically obtain the version in JBoss AS 5.1?, и они не сработали. Один из них жаловался на org.jboss.Main, не существующий в jboss 7, другой жаловался не на «jmx/rmi/RMIAdaptor».Определяет версию jboss программно между jboss 5 и 7
Единственный способ, которым я могу видеть, это сделать Class.forName для поиска «org.jboss.Version» (должен быть найден, если jboss 5), и если это не удается, выполните Class.forName «org.jboss.util. xml.catalog.Version "(jboss 7). Но это кажется ужасной идеей.
Причина, по которой мне нужно знать, работает ли война на jboss 5 или 7, заключается в том, что есть некоторые пользовательские файлы, которые расположены в разных местах в обоих. Так как «если JBoss 5, выполнить этот кусок кода, если JBoss 7 выполнить другой.
Меня действительно интересует смысл этого вопроса. Единственный смысл, на который я мог поверить, чтобы приложение совместимо со всеми серверами. И это, на мой взгляд, совершенно невозможно. Pls расскажет мне больше о ваших намерениях. – Diversity
Ну, приложение ищет другой файл войны. На jboss 5 он находится в «deploy» на jboss 7, он находится в папке «deployments». Я предполагаю, что другой способ, которым я могу это сделать, - это проверить только одну или другую папку внутри «jboss.server.base.dir» – Creature
Я только что обновил свой последний ответ – Diversity