java - 无法将 Java 库放置在 .war 之外

标签 java jetty

有什么方法可以访问 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/

相关文章:

java - 无法发送消息 : SocketTimeoutException : NotAuthorizedException

java - Jetty 没有出现在 jcmd 中

maven - 带有 Eclipse Jetty 的 Maven 插件的奇怪 NoClassDef-s

java - 我可以使用代码来控制 Spring Boot 中 ApplicationContext 做出的依赖解析决策吗?

java - 在intellij中打开选定的类(class)

java - 非法转发引用java问题

java - SQLite - 没有 JDBC 类型的方言映射 : 0 (Hibernate)

java - 在 Google Guice 中自动启动和停止服务

apache - HTTP POST 中的各个字段是否有大小限制?

java - Jetty 将错误的 NIO 参数传递给 Java(或 JVM 错误)