1)我在Maven的Eclipse中的pom.xml项目中包含了一个Spring Context依赖项。在Maven中,我的最终构建和安装的.JAR中包含了依赖项二进制文件吗?
2)我跑项目上的“安装”阶段,并妥善建成,该项目被安装到我的本地库的.m2
3)当我拉开我的.JAR,我只看到我的单我创建的自定义类。
这带来了两个问题:
1)外部的依赖类只在您的最终建成罐子如果从它一类的类中物理实例包括在内?
和
2)为什么,当我进口SpringContextAnnotationConfig类到类,并实例化它的一个实例,并安装我的项目,我还是只看到了我的自定义类,当我拉开我的.JAR。这是不寻常的吗?或者,SpringContextAnnotationConfig现在刚刚写入.class二进制文件,因此当我将.jar部署到另一个JVM时,它在我的定制构建的.class二进制文件中拥有它的所有依赖关系?
感谢
SOLUTION:
的问题是,我期待行家为一个JAR输出做同样的,因为它会为一场战争。当使用webapp archetype生成WAR文件时,Maven自动将所需的依赖项jar打包到WEB-INF目录中。
我基本上试图了解远程全新服务器上的容器如何运行我的类,而无需依赖项二进制文件。我试图运行一个用于生成JAR文件的maven,而这个文件并没有包含我的依赖关系。但是,当我运行maven install来构建一个WAR文件时,我的依赖关系已经准备好部署了。
1)是和2)除非你真的创建了一个可执行的jar或war文件,这些库将不会被包含。它只是注册依赖关系,但只包含在打包的.war或.jar中。 – rptmat57
jar将仅为您的代码库创建。因为外部依赖关系本身不需要再创建。你可以使用zip压缩包。运行时将所有依赖关系添加到classpath – jos