use*_*016 3 java tomcat netbeans netbeans-9
我有一个正在运行的Tomcat实例;
我有一个在Library JDK1.8上编译的工作Netbeans 8.2项目,它可以在上面的服务器上构建和部署并运行.
我现在正试图转向Netbeans 9,所以我在OpenJDK 10.0.2 JDK上运行.如果我构建相同的项目(仍在库JDK1.8上),它构建和部署正常.但是,当它在同一台服务器上运行时,我收到以下错误;
javax.servlet.ServletException: Error instantiating servlet class [xxxx.xxx.xxx.TestServlet]
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.base/java.lang.Thread.run(Thread.java:844)
Root Cause
java.lang.RuntimeException:
xxxx.xxx.xxx.TestServlet.<init>(TestServlet.java:1)
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.base/java.lang.Thread.run(Thread.java:844)
Note The full stack trace of the root cause is available in the server logs.
Run Code Online (Sandbox Code Playgroud)
(xxxx.xxx.xxx.TestServlet替换为真正的Servlet类)
它抱怨Servlet的第一行,无论如何都是模板评论的"/*".
我本以为我曾经使用的Netbeans,如果两者都被重新编译了相同的JDK1.8 JDK,那么部署的WAR应该是相同的并且都可以工作.Netbeans 9似乎正在构建不同的东西,报告的错误并没有多大帮助.
有线索吗?
sko*_*isa 10
首先,请注意Netbeans 9.0 RC1仅支持Java SE开发 ......
9.0版本,这将是对Java SE开发的IDE只,在 其他功能尚未由Oracle捐赠和被审查和处理,是阿帕奇的NetBeans的后续版本的一部分.
也就是说,Apache NetBeans 9的早期beta版本提供了允许构建Java EE应用程序的插件,并且在NetBeans 9.0发布后将重新引入该功能:
Oracle已经审核并捐赠了所有模块,以提供对JavaScript,PHP,Groovy和企业Java(即Java EE或现在已知的Jakarta EE)的支持的功能.这些功能位于Apache NetBeans Git仓库的单独分支上.Apache NetBeans(孵化)9.0发布后,它们将被集成,即重新许可给Apache.
您没有指定使用的是哪个版本的NetBeans 9(过去几个月有很多版本),但如果您下载NetBeans 9.0 RC1,则它不提供创建Java Web应用程序的向导,也不能添加一个应用程序服务器,如Tomcat或Wildfly,也没有提供任何合适的插件.因此,大概不支持Java SE范围之外的任何内容,例如Web应用程序的部署.
但是,您仍然可以手动添加插件(风险自负)以在Apache NetBeans 9.0中启用Java EE功能:
之后,您应该正确启用Java EE功能.那么您可以添加该功能,然后重试您的部署并提出建议吗?
| 归档时间: |
|
| 查看次数: |
4237 次 |
| 最近记录: |