使用jetty启动应用程序时出错

发布于 2024-11-26 20:05:41 字数 1741 浏览 1 评论 0原文

我使用 maven 插件“wagon-maven-plugin”创建一个包含 war 文件和 jar 文件的 jar。 当我尝试执行 "java -jar myApp.jar" 时,

出现以下错误

WARN [main] log.warn(50) | Failed startup of context o.e.j.w.WebAppContext{/,null},file:/Users/hrastogi/chatplus_code_new/chatplus_server/feed-monitor/jetty-pkg/target/feedmonitorservice-1.0.0-SNAPSHOT.jar
java.io.FileNotFoundException: /jetty-pkg/target/work/webapp/LICENSE (No such file or directory)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
    at org.eclipse.jetty.util.resource.JarResource.copyTo(JarResource.java:226)
    at org.eclipse.jetty.webapp.WebInfConfiguration.unpack(WebInfConfiguration.java:449)
    at org.eclipse.jetty.webapp.WebInfConfiguration.preConfigure(WebInfConfiguration.java:49)
    at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:465)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:495)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
    at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:226)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:93)
    at org.eclipse.jetty.server.Server.doStart(Server.java:243)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
    at bekkopen.jetty.Main.start(Main.java:99)
    at bekkopen.jetty.Main.main(Main.java:29)

许可证文件存在于文件夹中。

任何指针都会有很大帮助。

谢谢

I used the maven plugin "wagon-maven-plugin" to create a single jar which contains the war file and jar files.
When i try to do "java -jar myApp.jar"

I get the following error

WARN [main] log.warn(50) | Failed startup of context o.e.j.w.WebAppContext{/,null},file:/Users/hrastogi/chatplus_code_new/chatplus_server/feed-monitor/jetty-pkg/target/feedmonitorservice-1.0.0-SNAPSHOT.jar
java.io.FileNotFoundException: /jetty-pkg/target/work/webapp/LICENSE (No such file or directory)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
    at org.eclipse.jetty.util.resource.JarResource.copyTo(JarResource.java:226)
    at org.eclipse.jetty.webapp.WebInfConfiguration.unpack(WebInfConfiguration.java:449)
    at org.eclipse.jetty.webapp.WebInfConfiguration.preConfigure(WebInfConfiguration.java:49)
    at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:465)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:495)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
    at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:226)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:93)
    at org.eclipse.jetty.server.Server.doStart(Server.java:243)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
    at bekkopen.jetty.Main.start(Main.java:99)
    at bekkopen.jetty.Main.main(Main.java:29)

The License file is present in the folder.

Any pointer will be of great help.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

握住你手 2024-12-03 20:05:41

我以前见过这个问题。
确保您的 JAR 文件不包含同名但大小写不同的文件。这在 JAR 文件内有效,但在 Windows 中展开时无效。 Jetty 抱怨这种欺骗性错误。

我使用 maven-shade-plugin 创建了一个大 JAR,其中包含许多库,其中一些库中有一个 LICENSE 文件,另一些库中有一个许可证文件夹(Windows 不允许这样做)。查看图像

注意那些“lincese”和“LICENSE”文件

现在,如果我运行这个 jar。 Jetty 尝试解压 Windows 临时文件夹中的内容,但失败并出现与您类似的错误。

I've seen this problem before.
Make sure your JAR file does not contain files with the same name but different case. This is valid inside a JAR file, but not when you expand it in windows. Jetty complains with that kind of deceiving error.

I used maven-shade-plugin to create a big JAR that includes a lot of libraries with a LICENCE file in some of them and a licence folder in others (windows doesn't allow that). See the image

Notice those "lincese" and "LICENSE" files

Now, if I run this jar. Jetty tries to unpack the content in the windows temp folder and fails with an error similar to yours.

雨后彩虹 2024-12-03 20:05:41

正如蒙佐尼所说。我在 OS X 下也遇到了同样的问题,它也不区分大小写。解决方法是配置打包 Maven 插件(在我的例子中是阴影插件)以跳过该文件。请参阅我的博客文章 修复:嵌入式 Jetty 无法解压并出现 FileNotFoundException:不是描述它的目录

As monzonj said. I had the same problem under OS X, which is also case insensitive. The workaround was to configure the packaging maven plugin (the shade plugin, in my case) to skip that file. See my blog post Fixed: Embedded Jetty Fails To Unpack With FileNotFoundException: Not a directory describing it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文