我有Jetty jetty-9.2.3.v20140905
我的理解是lib / jar或lib / ext中的jar会自动放在类路径中,但这可能是码头8的旧行为。
我正在尝试使用websockets部署一个webapp。有了我在webapps目录中部署的WAR文件,jetty一直抱怨说,它无法在jetty /
lib目录(jetty-http,jetty-io,jetty-security,jetty-server,jetty-servlet,jetty-
util是我的Webapp需要它找不到的那些)
当我执行–module-ext时,放在lib / ext中的jar也不会被拾取
我该如何解决?
为了解决以下问题,(尝试编辑原始问题)我尝试启用服务器模块,该服务器模块的server.mod文件包含以下几行:
[lib]
lib/servlet-api-3.1.jar
lib/jetty-schemas-3.1.jar
lib/jetty-http-${jetty.version}.jar
lib/jetty-server-${jetty.version}.jar
lib/jetty-xml-${jetty.version}.jar
lib/jetty-util-${jetty.version}.jar
lib/jetty-io-${jetty.version}.jar
从命令行,我做
java -jar start.jar --module=server jetty.port=8182
结果是:
2014-10-30 15:26:13.907:WARN:oejuc.AbstractLifeCycle:main: FAILED
org.eclipse.jetty.annotations.ServletContainerInitializersStarter@2635068e:
java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Handler
java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Handler
org.eclipse.jetty.server.Handler就在我的jetty / lib目录中的jetty服务器jar中。
也许jetty.version或jetty.base变量不正确?
当我执行一个
--list-classpath
我确实在lib目录中看到了所有jar。
您正在阅读什么文档?(请链接)
start.config
唯一的整个概念存在于Jetty 8及更早版本中。
当前文档位于http://www.eclipse.org/jetty/documentation/current/
该文字对Jetty无效 9.2.3.v20140905
永远没有充分的理由同时将 所有
jar放入lib/
服务器类路径中。实际上,这将导致无效的环境,因为您可以更改几种核心技术的不同实现(例如jsp,jstl和javax.el)。还有一些库lib/
,需要第三方可选库才能起作用(例如npn,alpn),这要求您在下载许可证之前确认许可证。
从{jetty.home}/lib
或从中加载什么库,和/或{jetty.base}/lib
由您在码头实例配置中启用的模块决定。
要了解启动,start.jar,命令行,模块,库,xml配置,配置属性{jetty.base}
,{jetty- dir}
和{jetty.home}
,看到“启动文档”
http://www.eclipse.org/jetty/documentation/current/startup
.html
解决您有关启动码头和网络应用程序的特定问题。 (同样,所有这些都记录在上面的“启动文档” URL中)
这是一个使用{jetty.home}
自身的简单示例(不再推荐,但可以使用):
# Unpack the distribution
[~]$ unzip jetty-distribution-9.2.3.v20140905
[~]$ cd jetty-distribution-9.2.3.v20140905
# Copy your war into place
[jetty-distribution-9.2.3.v20140905]$ cp ~/Projects/mywebapp.war webapps/
# Run Jetty
[jetty-distribution-9.2.3.v20140905]$ java -jar start.jar
现在使用一种更合适的方法{jetty.base}
:
# Unpack the distribution
[~]$ unzip jetty-distribution-9.2.3.v20140905
# Make a {jetty.base} directory to house your configuration
[~]$ mkdir myappbase
[~]$ cd myappbase
# Since this is a new {jetty.base}, lets initialize it
[myappbase]$ java -jar ../jetty-distribution-9.2.3.v20140905/start.jar \
--add-to-start=http,logging,deploy,jsp,ext,resources
INFO: http initialised in ${jetty.base}/start.ini (appended)
INFO: server initialised in ${jetty.base}/start.ini (appended)
INFO: logging initialised in ${jetty.base}/start.ini (appended)
MKDIR: ${jetty.base}/logs
INFO: deploy initialised in ${jetty.base}/start.ini (appended)
MKDIR: ${jetty.base}/webapps
...(snip)...
MKDIR: ${jetty.base}/lib
MKDIR: ${jetty.base}/lib/ext
INFO: resources initialised in ${jetty.base}/start.ini (appended)
MKDIR: ${jetty.base}/resources
# Lets see what we have now
[myappbase]$ ls -F
lib/ logs/ resources/ start.ini webapps/
# Copy your webapp into place
[myappbase]$ cp ~/Projects/mywebapp.war webapps/
# Run Jetty
[myappbase]$ java -jar ../jetty-distribution-9.2.3.v20140905/start.jar
问题内容: 我正在尝试开发一个Java代理,它将借助asm-4来检测代码。现在,我陷入了一个非常基本的问题,javaagent的类加载器看不到asm依赖关系,因此失败。我是否必须提供一个jar- with- dependencies(又名maven构建插件),其中包含代理所需的所有类,或者是否有另一种方法可将类添加到Java代理?直接在类路径中引用jar asm-all.jar并没有帮助。最初,构
问题内容: 我有很多jar文件要添加到我的类路径中,因此,每次编译Java文件时,都会得到如下命令: 我尝试使用: 然后: 但是根本没有添加jar:由于缺少jar,我得到了错误信息…谢谢 问题答案: 也许您想尝试使用Maven来构建您的应用程序?它真的很容易设置,并且消除了依赖管理的所有问题。 同样从Java 6开始,您可以在类路径中使用通配符: set CLASSPATH = my_libs \
问题内容: 有人可以告诉我在NetBeans中在哪里以及如何设置类路径吗?我想添加一个.jar文件。 问题答案: 用鼠标右键单击你的项目。 选择Properties。 在左侧单击Libraries。 下Compile tab-单击Add Jar/Folder按钮。 要么 扩展你的项目。 右键单击Libraries。 选择Add Jar/Folder。
问题内容: 我的Java应用程序使用的库需要在类路径中查找文件(log4j.xml)。我使用netbeans管理我的项目,但是找不到包含lib /文件夹的方法。 Netbeans会在应用程序jar中自动创建一个MANIFEST.MF文件,并还会创建一个名为lib /的文件夹,其中包含所有依赖项。该清单指定了Class-Path属性,该属性将覆盖命令行上提供的任何- cp参数。我可以在netbean
我创建laravel项目,在我的本地Windows电脑上工作良好。一旦我上传到Centos7服务器(通过SSH),我的所有路由都不工作。我试图通过行动修复,例如清除缓存,删除供应商文件夹和重做安装作曲家,但没有任何帮助。我从下面的日志中抓取。 [2018-12-20 13:09:17]本地的。错误:逻辑异常:无法为序列化准备路由[api/user]。在 /var/www/html/srp/vend
我在Ubuntu 14.04上,我一直在尝试所有可能的方法来安装Laravel,但都没有用。所有我尝试的错误消息。我现在正在尝试quickstart文档中的第一种方法,即通过Laravel安装程序,但它说“确保将目录放置在