Java 想要在导入Eclipse的两个GAE maven项目之间共享公共代码吗

Java 想要在导入Eclipse的两个GAE maven项目之间共享公共代码吗,java,eclipse,maven,google-app-engine,code-sharing,Java,Eclipse,Maven,Google App Engine,Code Sharing,我有两个GAE Java项目,A和B。我想在B中使用A中的一些成熟类(当然,在A中也继续使用它们)。这两个项目都是使用maven创建的,然后导入Eclipse(在我看来,这使maven成为主要项目,Eclipse成为次要项目:-) 保持maven的主要地位,最好的方法是什么 我预计解决方案如下: 创建一个新的maven项目C 将公共类移到C 将C作为依赖项包含在A和B的pom.xml中(不需要首先将C作为jar导出就可以做到这一点?) 希望在此之后,我能够独立地运行和测试(主要通过运行mvn

我有两个GAE Java项目,A和B。我想在B中使用A中的一些成熟类(当然,在A中也继续使用它们)。这两个项目都是使用maven创建的,然后导入Eclipse(在我看来,这使maven成为主要项目,Eclipse成为次要项目:-)

保持maven的主要地位,最好的方法是什么

我预计解决方案如下:

  • 创建一个新的maven项目C
  • 将公共类移到C
  • 将C作为依赖项包含在A和B的pom.xml中(不需要首先将C作为jar导出就可以做到这一点?)
希望在此之后,我能够独立地运行和测试(主要通过运行
mvn appengine:devserver
)A和B

我对maven的了解有限,因此如何创建(例如,使用哪个原型)这个项目C,以便:

  • 它将作为一个独立的Eclipse项目成功导入
  • 可以作为罐子导出(如果需要),并且
  • 当C更改时触发A和B的重新构建,无论是Eclipse自动重新编译还是在我运行mvn appengine:devserver时maven重新编译
如果有更好但完全不同的解决方案,我也不介意考虑

配置:

  • OS:OSX10.9.5
  • 马文:3.1.1
  • 日食:开普勒(4.3)和m2eclipse
  • Java:1.7.0_45

谢谢

好吧,你非常接近“好的和正确的”解决方案。你把它写在你的问题上:-)

  • 创建一个新的maven项目C
  • 将公共类移动到C.Build(mvn clean install)项目C.As 因此,JAR将出现在您的本地repo中
  • 现在,您可以将C作为依赖项包含在A和B的pom.xml中
请注意,正如您所提到的,如果项目C中有任何更改,则必须重新编译项目A+B


当然,C.JAR已经可以使用了,而且它与任何IDE(如Eclipse)都没有关系。

关于使用哪种原型,您可以使用maven quickstart原型:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart
发件人: