我正在使用Intellij开发Java。现在我可以通过将源附加到jar lib来调试我的外部lib代码。但现在我想对lib的源代码进行更改,并使其立即生效,无需重新打包到jar并再次包含到我的主项目中。我能这样做吗?
不是一个好主意 - 从概念上讲。
任何东西都是外部库。然后它的部署工艺是一个JAR。或者它是一个“源项目”。
换句话说:你正在尝试吃蛋糕并同时吃。如果你找到一种技术方法来破解自己 - 你不应该去那里。因为它在概念上是错误的。
如果问题主要是关于动态更新正在运行的JVM - 为此您可以使用JRebel等工具。但这也要求您的JVM与JRebel代理一起运行(这对于测试/开发系统来说很好,但在生产环境中是不行的)。
如果您有库的源代码,请在该模块上创建一个带有此源代码和add a dependency的独立模块,而不是库jar。
要使jar库与源代码同步,您可以将jar artifact配置为从此库模块与项目构建一起构建。