gpt4 book ai didi

java - Web 服务可以在运行时加载 jar 吗

转载 作者:行者123 更新时间:2023-11-30 05:13:08 28 4
gpt4 key购买 nike

我使用 Java 创建了一个简单的 Web 服务。我想在运行时加载与网络服务相关的jar。我已经为普通 Java 应用程序完成了这项任务。我所做的是

            JarFile jar = new JarFile(f.getPath());

final Manifest manifest = jar.getManifest();
final Attributes mattr = manifest.getMainAttributes();

// Read the manifset in jar files and get the Name attribute
// whare it specified the class that need to load
//for (Object a : mattr.keySet()) {
for (Iterator iter = mattr.keySet().iterator(); iter.hasNext();) {
Object obj = (Object)iter.next();
if ("ServiceName".equals(obj.toString()))
className = mattr.getValue((Name) obj);
//System.out.println(className);
}

/*
* Create the jar class loader and use the first argument passed
* in from the command line as the jar file to use.
*/
JarClassLoader jarLoader = new JarClassLoader(f.getPath());

/* Load the class from the jar file and resolve it. */
Class c = jarLoader.loadClass(className, true);

我的问题是

  1. 我可以将运行时需要加载的 jar 放入单独的文件夹中,而不是放入 WEBINF 文件夹中吗?

  2. 我是否必须将 jar 放在 axis 和 Web 应用程序中。

提前感谢您对此问题的任何贡献。

最佳答案

放置 jar 的位置取决于您的应用程序服务器,对于 tomcat i.g. ${catalina.home}/common/lib 将是已添加到类路径中并且对您的应用程序可见的位置。

关于java - Web 服务可以在运行时加载 jar 吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2650983/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com