有什么方法可以访问 Jetty 服务器中 .war 文件之外的 java 库吗?
我尝试过很多事情,比如扩大 war ,但每次都失败,因为服务器每次都没有启动。
目前,我构建了一个 war 并从中排除了一些 JAR,然后我将这些 JAR 放置在 Jetty 发行版的 lib 文件夹中。但出于某种原因,它不会从该文件夹中查找库。我正在使用 Jetty 版本 9。
应该如何正确配置它才能工作?
最佳答案
jetty 发行版中的 lib 目录不会自动添加到服务器的类路径中。 start.jar 命令根据启用的模块构建类路径。您可以使用以下命令查看构建的类路径:
java -jar $JETTY_HOME/start.jar --list-config
有一个模块可以将 lib/ext 中发现的任何 jar 添加到类路径中,因此您只需将 --module=ext 添加到命令行或运行类似的命令
java -jar $JETTY_HOME/start.jar --add-to-startd=ext
然后 lib/ext 中的任何 jar 都将放在服务器类路径上。
下一个问题是它们对 web 应用程序是否可见...如果它们不在 java 或 javax 或 org.eclipse.jetty 包中,那么通常它们默认是可见的。如果要添加隐藏类,则需要调整上下文服务器和系统类配置。
关于java - 无法将 Java 库放置在 .war 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30845609/