Gon*_*oso 3 deployment ear jboss war jboss7.x
我正在将一个WebService项目部署到一个jBoss AS7中,除了jBoss不扩展我的WAR或EAR文件外,一切正常.
已经尝试将文件复制到"jboss-as-7.1.0.Final\standalone\deployments"文件夹并使用WebConsole,但在两种情况下结果都是相同的.
如果我从Eclipse中部署,一切运行正常.
我需要它来扩展我的文件,因为在应用程序初始化中我扫描类目录,寻找使用反射实例化的正确类.
编辑:不知道这是jBoss AS 7或jBoss AS系列的特殊情况,因为我已经使用了WebSphere和jBoss Web,并且它们都扩展了文件.
EDIT2:添加了带执行路径的System.out
MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();
Run Code Online (Sandbox Code Playgroud)
它返回以下路径
C:\jboss-as-7.1.0.Final\bin\content\ServerEAR.ear\Server.war\WEB-INF\classes
Run Code Online (Sandbox Code Playgroud)
巫婆不存在.所以我搜索了类名并将其命名为
C:\jboss-as-7.1.0.Final\standalone\tmp\vfs\deployment5a9e98d5c43716c3\Server.war-e31a657d2bc3bd0f\WEB-INF\classes\r30
Run Code Online (Sandbox Code Playgroud)
是不是可以强制JBoss将文件解压缩到部署文件夹?或者我如何在运行时获取上一个路径.
已经忘记了这个问题,所以这就是我解决它的方式:
public String getRealFilePath(String aFilePath) throws Exception
{
org.jboss.vfs.VirtualFile vFile = org.jboss.vfs.VFS.getChild(aFilePath);
URI fileNameDecodedTmp = org.jboss.vfs.VFSUtils.getPhysicalURI(vFile);
path = fileNameDecodedTmp.getPath();
System.out.println(path);
return path;
}
Run Code Online (Sandbox Code Playgroud)
所以在运行时我只需要用原始问题值调用getRealFilePath(),问题就解决了;)
| 归档时间: |
|
| 查看次数: |
8326 次 |
| 最近记录: |