Vis*_*hal 14 eclipse deployment maven
对不起是冗长的......
我有一些现有的maven项目.我使用Maven - >导入现有的Maven项目将它们导入Eclipse .
这给了我6个单独的项目和一个项目,列出了它下面的所有6个项目.(伞形项目中定义了6个模块,转换为6个eclipse项目 - 据我所知,maven是如何工作的)
其中一个项目A需要另外两个项目B和C(在编译时和运行时).
构建路径 - 在AI的构建路径上有一个库作为Maven依赖项.它建立得很好.
部署程序集 - 但是在A的部署程序集上没有用于部署的条目web-inf/lib.因此,当tomcat启动时,它找不到任何必需的jar或项目B和C.所以我在部署程序集中添加了一个条目:source - maven和dependencies deploy - web-inf/lib.Tomcat出现了,我的项目A的webapp出现了.
然而,这打破了eclipse构建 - 构建eclipse时抱怨: "无效的类路径发布导出项目条目不受支持"
我看到的是,在构建路径下,有一个新的条目添加到web-inf/lib以在maven-dependencies下发布/导出.删除它也会从部署程序集中删除maven条目.
唯一的解决方法是在部署程序集中我指定web-inf/libmaven生成的under目标,但这会导致拾取项目B和C的过时副本.
为什么我需要这个设置是因为当我在Eclipse中对项目B和C进行更改并在Eclipse中构建它时,我希望在调试项目A时看到更改.我不想再次在B和C上运行maven构建因为它很耗时.
任何帮助深表感谢.
我确实试过包括MAVEN2_CLASSPATH_CONTAINER但是总是空的,当tomcat运行时它找不到必要的库.(BTW MAVEN2_CLASSPATH_CONTATINER设定的是什么谷?)
这是在Eclipse Indigo Mac OSX上.
想出来..但不完全......
所以我在部署程序集中添加了maven依赖,如前所述.
Maven dependency -> WEB-INF/lib
Run Code Online (Sandbox Code Playgroud)
另外还添加了项目B和C:
B -> WEB-INF/lib and C->WEB-INF/lib
Run Code Online (Sandbox Code Playgroud)
不知怎的,这种方式B和C没有添加到java构建路径中的发布/导出中.我不知道eclipse如何知道不从maven repo导出B和C,而是从项目B和C本身导出它.
无论如何那些其他日子...现在我很高兴:)
小智 1
对于搜索此内容的其他人来说,您似乎还可以手动将以下内容添加到 .classpath 文件中
<classpathentry combineaccessrules="false" kind="src" path="/B"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28483 次 |
| 最近记录: |