我将一个Web服务项目部署到jBoss AS7中,除了 jBoss 不扩展我的 WAR 或 EAR 文件外,一切都很顺利。我已经尝试将文件复制到“jboss-as-7.1.0.Final \standalone\deployments”文件夹并使用 WebConsole,但在两种情况下的结果都是相同的。如果我从 Eclipse 中部署,一切都运行良好。我需要它来展开我的文件,因为在应用程序初始化中,我会扫描类目录以查找正确的类,然后使用反射进行实例化。编辑:不知道这是否是 jBoss AS 7或 jBoss AS 家族的特殊情况,因为我已经使用过 WebSphere 和 jBoss Web,它们都扩展了文件。编辑2:添加了一个带有执行路径的 System.out。
它会返回以下路径。
MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();
它会返回以下路径。
C:\jboss-as-7.1.0.Final\bin\content\ServerEAR.ear\Server.war\WEB-INF\classes
这个单词拼写错误。所以我搜索了类名,并在以下找到它:
C:\jboss-as-7.1.0.Final\standalone\tmp\vfs\deployment5a9e98d5c43716c3\Server.war-e31a657d2bc3bd0f\WEB-INF\classes\r30
是否有办法强制JBoss将文件提取到部署文件夹中?或者我如何在运行时获取以前的路径。