我正在扩展现有的java应用程序,同时使用纯Java模块和战争。对于这场战争,我使用了maven-war-overlay方法,如果它们的命名相同,它会自动将我自己的扩展文件包含在现有文件中。扩展现有的java/maven项目的最佳方式
现在对于java模块,我想我可以分别扩展它,但最好的方法是什么?我创建了一个新的Java模块项目,并将原始项目jar作为依赖项包含在内。有没有办法改变该jar中的现有属性/方法而不创建子类?如果我继承,现有的类将不知道它...
我可以从第一个项目中排除文件,但会有点麻烦,有很多文件需要很小的变化(不同的hibernate注释例如)。
离开原始源代码的最佳方式是什么,但做出我需要的更改?
该项目使用春天,你可以p在我如何使用ioc功能的正确方向上使用我的软件?对于需要小修复的所有文件来说,这个过程将非常繁琐。我有权访问源代码,而不仅仅是jar,如果这改变了什么 - – chrismarx 2011-03-10 15:41:00
@chrismarx在applicationContext.xml中很难获得一般的配方,但可能是这样的: <豆ID = “userOfWantToOvveride” 类= “my.package.UserOfWantToOverride”> <构造精氨酸REF = “wantToOverride”/> 另外,如果你正在谈论小修正(如错误修复),为什么不修复原始文件? –
2011-03-10 18:55:39
是的一些变化是错误的,其他的是由于我为项目切换数据库这一事实,并且尽管他们已经努力实现这一点(例如使用hibernate),但仍然有一些地方需要修改。我认为我的策略是排除我正在修改的类,并插入我自己的。不像改变源代码那样糟糕(因为这会改变,你提到的一团糟),但不是那么优雅 – chrismarx 2011-03-10 19:37:19