|
|
1
2
在install dir的根目录上有一个共享libs目录绝对是一种方法。由于libs将加载到内存中一次,所以当JVM启动时,无论您选择什么解决方案,都不会对性能产生影响。 我不会将类路径放在JAR文件中,因为这将迫使您在需要重新定位lib目录时更改JAR。编辑脚本要简单得多。 出于同样的原因,我也不会在JAR文件中包含log4j conf文件。 |
|
|
2
1
您的应用程序似乎不共享单个JVM实例。(也就是说,它们是通过Java-jar BATCH1.jar)单独启动的,或者是这样的。因此,共享库.jar文件只会节省磁盘空间而不是RAM。 如果应用程序不共享单个JVM 那么,部署的易用性应该优先于磁盘空间。(您的时间价值超过了一些“浪费”的MB。) 在本例中,我建议在单个.jar文件(包括其所有库)或单个.jar文件文件夹中使每个应用程序独立。(即,将每个应用的libs放在该应用的文件夹中。) 如果应用程序共享一个JVM 然后我建议使用共享库文件夹选项。 |
|
|
3
0
可以使用Java扩展机制。将它们放在java_Home/lib/ext中,所有应用程序都可以访问它们。当然,这对所有部署来说可能不是最好的,但肯定更容易。 |
|
|
4
0
这并不能直接回答您的问题,但我已经尝试过您建议的方法,但现在将为每个应用程序创建一个JAR(请参阅如何执行该操作)。 with Ant )这样,就不需要在类路径中包含任何内容:
是你所需要的。我觉得它更干净,但一切都有争议。 从性能的角度来看,它没有任何区别,因为每个应用程序都在自己的JVM中运行。 唯一的缺点是每个JAR文件中都存在一些库。存储在HD上的成本更高,但是现在MB非常便宜:-我在任何时候交易简单(没有外部LIB文件夹)和无jar地狱(不把JAR放在Java EXT文件夹中)超过存储价格。如果您的应用程序不包含库的terabyte,我认为这是可以的。
对于log4j配置文件,我将在jar中放置一个默认文件,但提供一个示例配置文件(
|