繁体   English   中英

IntelliJ IDEA-不同的“目标”

[英]IntelliJ IDEA - different “targets”

我有一个针对Web应用程序的项目(Maven + Spring + Hibernate)。 我不是Java方面的专业人士,我想知道是否可以将同一项目用于另一个应用程序。 这两个版本将共享许多代码,但是会有一些独特的类和函数。 理想情况下,当我要更改一个共享功能时,不必手动编辑两个项目。

我是iOS开发人员,通常为此目的使用宏(此处详细说明了http://www.itexico.com/blog/bid/99497/iOS-Mobile-Development-Using-Xcode-Targets-to-Reuse -the-Code ):

#if APP1
#define SERVER_URL @"http://server.com/green/"
#define PROJECT_NAME @"GREEN APP"
#else
#define SERVER_URL @"http://server.com/yellow/"
#define PROJECT_NAME @"YELLOW APP"
#endif

有什么方法可以使用IntelliJ IDEA在Java中执行类似的操作?

自从您提到Maven以来,我想最好是使用您的构建工具,而不是您在问题中提到的IntelliJ想法。

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

然后,在您的所有项目中,您将只将该模块作为Maven依赖项标签包括在内,如下所示:

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

那是最简单的方法。 毕竟,在运行时JAR只是Java可以为您透明处理的类的容器。

现在,您可以将此基础结构作为一个完全独立的项目保留在源代码控制系统中,这样您就可以独立于主项目jar来发布它,但是情况有所不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM