当前位置: 首页 > 知识库问答 >
问题:

jetty在错误的目录中搜索webdefault.xml

韩朝斑
2023-03-14

我在Jetty工作了一周,我让Maven负责管理。我已经成功地让我的程序在本地计算机上运行和工作,但当我尝试将应用程序部署到服务器时,在运行命令后,我一直遇到此问题:

 java -jar $JETTY_HOME/start.jar

2018-07-24 14:33:48.808: WARN: oejw.WebAppContext: main:上下文o.e.j.w.WebAppContext@3224f60b{/, file:/var/lib/jetty9/webapps/root/, null}{/root}java.io.FileNotFoundExc0019: /usr/share/java/etc/webdefault.xml(不是目录)在java.io.FileInputStream.open0(本机方法)在java.io.FileInputStream.open(FileInputStream.java:195)在java.io.FileInputStream.(FileInputStream.java:138)org.eclipse.jetty.util.resource.FileResource.getInputStream(FileResource.java:290)org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:54)org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:207)在org.eclipse.jetty.webapp.MetaData. setDefaults(MetaData. java: 171)在org. eclipse. jetty. webapp。在org. eclipse. jetty. webapp上的WebXmlConfiguration. preConfig(WebXmlConfiguration. java: 53)。在org. eclipse. jetty. webapp上配置(WebAppContext. java: 468)。在org. eclipse. jetty. util.组件上的WebAppContext. doStart(WebAppContext. java: 504)。启动(AbstractLifeCycle. java: 68)在org. eclipse. jetty.部署. bindings。在org. eclipse. jetty.部署。AppLifeCycle. runBindings(AppLifeCycle. java: 186)在org. eclipse. jetty.部署。在org. eclipse. jetty.部署。addApp(DeploymentManager. java: 146),网址为org. eclipse. jetty.部署。ScanningAppProder. fileAdded(ScanningAppProder. java: 180)在org. eclipse. jetty.部署。WebAppProder. fileAdded(WebAppProder. java: 440)在org. eclipse. jetty.部署.提供者。ScanningAppProvider1美元. fileAdded(ScanningAppProvider. java: 64)在org. eclipse. jetty. util。在org. eclipse. jetty. util上添加(Scanner. java: 609)。Scanner. report差异(Scanner. java: 528)在org. eclipse. jetty. util。扫描(Scanner. java: 391)在org. eclipse. jetty. util。Scanner. doStart(Scanner. java: 313),网址为org. eclipse. jetty. util.组件。启动(AbstractLifeCycle. java: 68)在org. eclipse. jetty.部署。在org. eclipse. jetty. util.组件上,ScanningAppProder. doStart(ScanningAppProder. java: 150)。开始(AbstractLifeCycle. java: 68)在org. eclipse. jetty.部署。部署管理器(DeploymentManager. java: 560)在org. eclipse. jetty.部署。deploymentManager. doStart(DeploymentManager. java: 235),网址为org. eclipse. jetty. util.组件。开始(AbstractLifeCycle. java: 68)在org. eclipse. jetty. util.组件。开始(ContainerLifeCycle. java: 132)在org. eclipse. jetty. server。Server. start(Server. java: 387)at org. eclipse. jetty. util.组件。ContainerLifeCycle. doStart(ContainerLifeCycle. java: 114)在org. eclipse. jetty. server. handler。AbstractHandler. doStart(AbstractHandler. java: 61)在org. eclipse. jetty. server。Server. doStart(Server. java: 354)at org. eclipse. jetty. util.组件。在org. eclipse. jetty. xml上启动(AbstractLifeCycle. java: 68)。在java. security上运行(XmlConfiguration. java: 1255)。AccessController. doPrivileged(本地方法)在org. eclipse. jetty. xml。xmlConfiguration. main(XmlConfiguration. java: 1174)at sun.反射。nativemethod odAccessorImp. invke0(本机方法)在sun.反射。NativeMEDAccessorInp. invoke(NativeMEDAccessorInp. java: 62)在sun. reff。在java. lang.反射中调用(委托方法访问或执行. java: 43)。在org. eclipse. jetty. start.调用(method. java: 498)。在org. eclipse. jetty. start.Main. start(Main. java: 817)at org. eclipse. jetty. start.Main. main(Main. java: 112)

2018-07-24 14:33:48.877:警告:oejw。WebAppContext:main:上下文o.e.j.w的启动失败。WebAppContext@76f2b07d{/ProjectName,文件:/tmp/jetty-0.0.0-8080-ProjectName.war-_ProjectName-any-8365660038169967261.dir/webapp/,null}{/ProjectName.war}java。木卫一。FileNotFoundException:/usr/share/java/etc/webdefault。java上的xml(不是目录)。木卫一。FileInputStream。java上的open0(本机方法)。木卫一。FileInputStream。在java上打开(FileInputStream.java:195)。木卫一。FileInputStream。(FileInputStream.java:138)位于org。日食码头。util。资源文件资源。组织上的getInputStream(FileResource.java:290)。日食码头。网络应用。描述符。在org上解析(Descriptor.java:54)。日食码头。网络应用。网络描述符。在org上解析(WebDescriptor.java:207)。日食码头。网络应用。元数据。org上的setDefaults(MetaData.java:171)。日食码头。网络应用。WebXmlConfiguration。org上的预配置(WebXmlConfiguration.java:53)。日食码头。网络应用。WebAppContext。在org上预配置(WebAppContext.java:468)。日食码头。网络应用。WebAppContext。doStart(WebAppContext.java:504)位于org。日食码头。util。组成部分抽象生命周期。从org开始(AbstractLifeCycle.java:68)。日食码头。部署绑定。标准起动器。processBinding(StandardStarter.java:41)位于org。日食码头。部署应用循环。org上的runBindings(AppLifeCycle.java:186)。日食码头。部署部署管理器。组织上的requestAppGoal(DeploymentManager.java:498)。日食码头。部署部署管理器。addApp(DeploymentManager.java:146)位于org。日食码头。部署提供者。扫描AppProvider。在org上添加了文件(ScanningAppProvider.java:180)。日食码头。部署提供者。WebAppProvider。在org上添加了文件(WebAppProvider.java:455)。日食码头。部署提供者。ScanningAppProvider$1。在org上添加了文件(ScanningAppProvider.java:64)。日食码头。util。扫描仪。org上的reportAddition(Scanner.java:609)。日食码头。util。扫描仪。在org上报告差异(Scanner.java:528)。日食码头。util。扫描仪。在org上扫描(Scanner.java:391)。日食码头。util。扫描仪。doStart(Scanner.java:313)位于org。日食码头。util。组成部分抽象生命周期。从org开始(AbstractLifeCycle.java:68)。日食码头。部署提供者。扫描AppProvider。doStart(ScanningAppProvider.java:150)位于org。日食码头。util。组成部分抽象生命周期。从org开始(AbstractLifeCycle.java:68)。日食码头。部署部署管理器。startapprovider(DeploymentManager.java:560)位于org。日食码头。部署部署管理器。doStart(DeploymentManager.java:235)位于org。日食码头。util。组成部分抽象生命周期。从org开始(AbstractLifeCycle.java:68)。日食码头。util。组成部分容器生命周期。在org上启动(ContainerLifeCycle.java:132)。日食码头。服务器服务器在org上启动(Server.java:387)。日食码头。util。组成部分容器生命周期。doStart(ContainerLifeCycle.java:114)位于org。日食码头。服务器处理程序。AbstractHandler。doStart(AbstractHandler.java:61)位于org。日食码头。服务器服务器doStart(Server.java:354)位于org。日食码头。util。组成部分抽象生命周期。从org开始(AbstractLifeCycle.java:68)。日食码头。xml。XmlConfiguration$1。在java上运行(XmlConfiguration.java:1255)。安全访问控制器。组织中的doPrivileged(本机方法)。日食码头。xml。XmlConfiguration。sun上的main(XmlConfiguration.java:1174)。反映NativeMethodAccessorImpl。在sun上调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(NativeMethodAccessorImpl.java:62)。反映DelegatingMethodAccessorImpl。在java上调用(DelegatingMethodAccessorImpl.java:43)。朗。反思。方法在org调用(Method.java:498)。日食码头。开始主要的org上的invokeMain(Main.java:321)。日食码头。开始主要的在org上启动(Main.java:817)。日食码头。开始主要的main(main.java:112)

我的webdefault位于usr/share/jetty9/etc文件夹中,但它一直在java中查找,我也在查找那里的xml文件,试图找到一种重定向位置的方法,这样它就不会查看/usr/share/java/etc/。非常感谢。

共有2个答案

公孙森
2023-03-14

您可以尝试不同的部署选项,例如

java-jarjetty-runner-9.4.0。M1。jar jetty应用程序/目标/jetty应用程序。战争

选项在doc-http://www.baeldung.com/deploy-to-jetty中给出

西门梓
2023-03-14

你的码头装置坏了。卸载它并下载一个正式的tar球。

启动服务器并看到它正在运行后,您应该能够部署war文件

 类似资料:
  • 在我的应用程序中,我正在使用Android NDK为armeabi-v7a、arm64-v8a、x86和x86_64 ABI构建库。我正在将库作为一个包上传到google Play。 如何解决此问题? 更新:在gradle文件中显式指定支持的ABIs没有帮助。在将bundle文件上载到play store之前,我再次检查了bundle文件(针对每个ABI)中是否存在libc++_shared.so

  • 问题内容: 这应该很简单,但是我无法理解-“编写一个在给定目录中搜​​索特定文件名的程序。” 我找到了一些硬编码的文件名和目录的示例,但是我需要目录名和文件名都与用户输入的相同。 问题答案: 您可以尝试这样的事情: 这是输出:

  • 问题内容: 用Java查找具有特定名称的目录的最佳方法是什么?我要查找的目录可以位于当前目录或其子目录之一中。 问题答案: 您的解决方案将包括 API参考

  • 有一个选项可以忽略Spring Bootjar包application.properties文件,并从服务器上的目录中搜索application.properties的属性值。 在使用spring boot运行jar应用程序的服务器上,我需要应用程序在服务器上的另一个目录中查找application.properties文件的属性值,而不考虑jar中现有的boot-inf\classes\appl

  • 我正在尝试为tableView实现一个搜索栏,但在我的textDidChange方法中收到错误“…二进制运算符“==”不能应用于“Place”和“String”类型的操作数。tableView是从Firebase数据库“placeList”数组填充的。不确定错误源来自何处。提前感谢您的帮助! Func搜索栏(_搜索栏:UISearchBar,文本更改搜索文本:字符串){

  • 问题内容: 关于使用fs.readdir进行异步目录搜索的任何想法?我意识到我们可以引入递归并使用下一个目录来调用read目录函数以进行读取,但是我有点担心它不会异步… 有任何想法吗?我看过很棒的node-walk,但是不像readdir那样仅给我数组中的文件。虽然 寻找像…的输出 问题答案: 基本上有两种方法可以实现此目的。在异步环境中,您会注意到有两种循环:串行循环和并行循环。串行循环等待一个