Java IntelliJ IDEA-与众不同”;“目标”;

Java IntelliJ IDEA-与众不同”;“目标”;,java,spring,hibernate,maven,intellij-idea,Java,Spring,Hibernate,Maven,Intellij Idea,我有一个web应用程序项目(maven+spring+hibernate)。我对Java不在行,我想知道是否有办法将同一个项目用于另一个应用程序。这两个版本将共享很多代码,但会有一些独特的类和函数。理想情况下,当我在一个共享函数中进行更改时,我不必手动编辑两个项目 我是一名iOS开发人员,通常为此使用宏(这里有详细说明): 在Java中使用IntelliJ IDEA有没有这样的方法?既然您提到了Maven,我想最好使用您的构建工具,而不是您在问题中提到的IntelliJ IDEA 因此,在Jav

我有一个web应用程序项目(maven+spring+hibernate)。我对Java不在行,我想知道是否有办法将同一个项目用于另一个应用程序。这两个版本将共享很多代码,但会有一些独特的类和函数。理想情况下,当我在一个共享函数中进行更改时,我不必手动编辑两个项目

我是一名iOS开发人员,通常为此使用宏(这里有详细说明):


在Java中使用IntelliJ IDEA有没有这样的方法?

既然您提到了Maven,我想最好使用您的构建工具,而不是您在问题中提到的IntelliJ IDEA

因此,在Java中,您可能希望创建一个包含所有“共享”功能的“基础设施”模块。这个模块将由Maven内置到一个专用的jar中

然后在所有项目中,您只需将此模块作为Maven依赖项标记包含,如下所示:

 <dependency>
     <groupId>,,,,</groupId>
     <artifactId>youSharedModuleName</artifactId>
     <version>...</version>     
 </dependency>

,,,,
youSharedModuleName
...     
这是最简单的方法。毕竟,运行时JAR只不过是Java可以透明地为您处理的类的容器

现在,您可以在源代码管理系统中将此基础结构作为一个完全独立的项目保留,这样您就可以独立于主项目JAR发布它,但情况不同了

 <dependency>
     <groupId>,,,,</groupId>
     <artifactId>youSharedModuleName</artifactId>
     <version>...</version>     
 </dependency>