我有一个庞大的项目,即使是一个小小的改变,我也必须重建整个项目。 这是一个架构错误,或者java无法进行这种部分编译吗?
PS:用C ++编译/链接东西来解决这些问题非常方便。
答案 0 :(得分:3)
有几种解决方案:
很难说哪个是理想的,每个都有自己的优点和缺点。
请注意,如果您使用Java编写代码,现在使用Maven或Gradle是必需。它们不仅让您模块化您的项目,而且它们也是依赖管理和构建工具。
OSGi是一个非常小众的产品,它很可能对你没用,而微服务本身就是一个相当复杂的话题,所以我建议你使用像Gradle这样的工具并使用JRebel或其他一些代码交换工具。开发你的应用程序。
答案 1 :(得分:0)
分割项目并将某些部分用作maven工件怎么样?在这种情况下,如果您必须重新编译零件,则只需增加版本号。
在这种情况下,您需要在本地网络中安装存储库。
答案 2 :(得分:0)
首先要从文件上下文菜单中禁用生成,然后从调试/运行配置编译操作。
非常好的解释here
答案 3 :(得分:0)
这很大程度上取决于您使用的构建工具。我对其他构建工具了解不多,但我确信Gradle
可以做到这一点。在一个模块化的项目中,例如我正在运行的项目(GWT,J2EE,Tests),我可以通过一个简单的命令轻松地排除我不想编译的部分:
gradle redeploy -x test -x compilegwt
这一行只是在编译中说排除测试和gwt。干杯
答案 4 :(得分:-1)
如果您没有使用Maven或Ant等构建管理工具,可以使用javac编译指定的目录:
javac directory1/*.java directory2/*.java
以下是我来自的original question。
我对Ant进行了简短的搜索,所以如果您确实在使用它,请检查here。
编辑:发现你确实在使用Maven。我绝对不是Maven专家,但是如果你用模块编写你的项目,应该可以编译指定的模块,也可能是它们的依赖项,是否正确?