我有一个动态的Web项目,我们称之为“项目A”和另一个常规的java项目,我们将在eclipse中称之为“项目B”。我已经通过进入项目属性将项目b添加到B到项目A.
Properties -> Deployment Assembly -> Add -> Project
。
这样可以将jar“project B.jar”添加到项目A / WEB-INF / lib文件夹中。但是,在“项目B”中配置的外部jar文件不包含在“项目B.jar”中。另外我去了
project b -> Properties -> Java Build Path -> Order and Export
我检查了“项目B”的所有必需依赖项,它仍然没有包含在jar中。我如何让eclipse将这些罐子包含在“project B.jar”文件中。
如果你需要知道我正在使用eclipse Indigo而我们没有在这个项目中使用mavin,那么我们只需要这个jar。提前致谢。
答案 0 :(得分:0)
您应该将项目B转换为分面形式(转到项目属性,"项目构面" - >"转换为分面形式......")。唯一需要的方面是" Java"和"实用程序模块"。如果我没记错的话,那时Eclipse会给你一个警告,指出在项目A的运行时可能会缺少那些额外的JAR依赖项,为你提供快速修复选项以将它们添加为依赖项。这将为项目B的.classpath文件添加attributes
元素,用于每个引用的JAR文件,例如:
<classpathentry exported="true" kind="lib" path="lib/commons-beanutils-1.9.2.jar">
<attributes>
<attribute name="org.eclipse.jst.component.dependency" value="../"/>
</attributes>
</classpathentry>
不必包含的JAR将改为获取此属性:
<attributes>
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes>
如果您没有收到警告,则可以直接添加attributes
元素。注意:这完全适用于Eclipse Luna,但我知道至少在开普勒它已经像这样工作了。