如何正确导入我修改过的Maven依赖项并将其重新构建到现有项目中?
我有一个Maven依赖项,我分叉并更改了源代码,因为它在我的项目中引发了异常 更改源代码后,我运行maven如何正确导入我修改过的Maven依赖项并将其重新构建到现有项目中?,maven,jar,log4j2,pulsar,Maven,Jar,Log4j2,Pulsar,我有一个Maven依赖项,我分叉并更改了源代码,因为它在我的项目中引发了异常 更改源代码后,我运行mavenpackage命令来构建jar并将其导入到我的项目中(在Intellij中:project Structure | Modules | Dependencies | Add jar或directory…) 但是,当我运行应用程序时,它似乎无法找到该依赖项,因为我在log4j2.xml文件中声明的Pulsar appender没有配置 我是否正确导入了罐子?我想知道JAR是否需要在org.a
package
命令来构建jar并将其导入到我的项目中(在Intellij中:project Structure | Modules | Dependencies | Add jar或directory…
)
但是,当我运行应用程序时,它似乎无法找到该依赖项,因为我在log4j2.xml文件中声明的Pulsar appender没有配置
我是否正确导入了罐子?我想知道JAR是否需要在org.apache.pulsar
名称空间中才能正确导入
比如说,
这就是依赖项未改变的样子:
这就是我自己修改和构建它时的样子:
如果修改开源项目中的代码,则应同时更改groupId和工件id。如果不更改,则会出现问题,未来的开发人员会以您不愿意听到的方式说出您的名字 更改这些是必要的,以便Maven知道使用您的版本而不是公开可用的版本。此外,当人们查看您的项目并看到“真实”项目中的groupId和artifactId时,他们自然会认为这就是正在使用的(这就是为什么如果不是这样,他们会诅咒您)。此外,为了让Maven可靠地使用依赖关系,您必须做一些复杂的事情 我遵循的做法是在groupId前面加上“com.mycorp”,其中mycorp是我雇主的名字,并将mycorp添加到artifactId中。唯一的缺点是,您必须确保“真实”工件的坐标不作为依赖项或可传递依赖项引用,否则在类路径上会有重复的类 最后,您的最佳选择是使用您的修复程序为ApachePulsar创建一个pull请求,以便其他遇到与您相同问题的人从中受益