我試圖從語法上確定我的程序是在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中,另一個抱怨aobut沒有找到「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執行等。
我真的對這個問題的感覺很感興趣。唯一可以相信的是讓應用程序與所有服務器兼容。這在我看來完全不可能。請告訴我更多關於你的意圖。 – Diversity
那麼,應用程序正在尋找另一個戰爭文件。在jboss 5上,它在jboss 7的「部署」中,它位於「部署」文件夾中。我想另一種方法,我可以做到這一點只是檢查「jboss.server.base.dir」內的一個或其他文件夾 – Creature
我剛剛更新了我的最新答案 – Diversity