Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WAR classes文件夹中解压缩的JAR不工作?_Java_Eclipse_Maven_Jar - Fatal编程技术网

Java WAR classes文件夹中解压缩的JAR不工作?

Java WAR classes文件夹中解压缩的JAR不工作?,java,eclipse,maven,jar,Java,Eclipse,Maven,Jar,解决了 好的,我有一个web应用程序,它正在处理lib文件夹中的JAR文件。我一直在尝试解压WEB文件夹类中的一个JAR。因此,这两个项目在构建时合并为一个项目。我使用以下方法将罐子解压缩到正确的位置: 现在你可能会问自己为什么我要这么做。既然很难解释,那我们就这么说吧:这就是我想做的 我只是想说清楚:我不希望讲座告诉我“这是错误的”和“你不能那样做,必须这样”。我知道我在问什么,我知道你通常不会这么做 因此,让我们尝试一下: 我已经将它设置为在我的类文件夹中解压。所有文件都在WEB-INF\

解决了

好的,我有一个web应用程序,它正在处理lib文件夹中的JAR文件。我一直在尝试解压WEB文件夹类中的一个JAR。因此,这两个项目在构建时合并为一个项目。我使用以下方法将罐子解压缩到正确的位置:

现在你可能会问自己为什么我要这么做。既然很难解释,那我们就这么说吧:这就是我想做的

我只是想说清楚:我不希望讲座告诉我“这是错误的”和“你不能那样做,必须这样”。我知道我在问什么,我知道你通常不会这么做

因此,让我们尝试一下:

我已经将它设置为在我的类文件夹中解压。所有文件都在WEB-INF\类中

但是它不再加载我的bean(那些来自JAR的)。我用组件扫描器扫描这两个包,就像我使用打包的JAR时一样(这很有效)

不过,战争和JAR之间是有区别的。我的JAR有不同的包名,如:

战争:
com.test

罐子:
com.root.test

难道这就是问题所在吗?不同的包名

如果不是,我还缺什么

如果你需要看一些代码,尽管问,因为我不确定你需要看什么

提前谢谢

编辑:

WAR WEB-INF文件夹中的当前文件夹结构如下:

classes  
+- com  
+- +- root  
+- +- +- test  
+- +- +- +- processer  
+- +- +- +- splitter  
+- +- +- +- validators  
+- +- test  
+- +- +- beans  
+- +- +- services  
+- +- +- validators  
我使用以下方式扫描它:

<context:component-scan base-package="com.test,com.root.test"/>

更新:

好的,我找到问题了。密码都很好。这是Eclipse的一个问题。Eclipse正在清理生成器文件夹,但没有正确填充它。我已经把eclipse从等式中去掉了,它工作得很好


谢谢大家的帮助,我真的很感激

如果您的情况如下:

  • JAR文件类:com.bummy.schmoores
  • WAR文件类:com.apple
那么这应该是WEB-INF/classes目录的内容(分解):

  • com
    • 责备
      • 施莫尔斯
        • 类文件
    • 苹果
      • 类文件
类文件的源没有价值;只有目录结构才重要

此外,类的目录结构必须与类的包名匹配。 例如 如果您的JAR文件包含一个类(kapow.class),而这个类的包是com.bummy.schmoores,那么您的类direcirectory的目录结构应该如我前面所述。
kapow.class文件的路径应该是
../WEB-INF/classes/com/blammy/schmoores/kapow.class

到底是什么问题?哦,我好像忘了提那个。无论如何,它不会加载位于JAR文件夹中的bean。我用组件扫描器扫描了两个包。解压后你能发布你的webapp的目录结构吗?完成后,我在帖子中添加了文件夹结构。希望它能帮助包装结构看起来不错,你的组件扫描配置如何?我已经添加了我的目录结构。正如你所看到的,一切都是应该的。这也是我的罐子的一个直接解压,效果很好。这篇文章很好地解释了事情应该是怎样的,所以我想你会得到最好的答案。