我正在尝试将Jetty从7.6切换到9.2。
我阅读并理解" OPTION"将不再工作。所以我从
改变了命令java -jar start.jar --ini **OPTIONS**=server,jmx,resources,websocket,ext,plus,jsp,annotations /u/khandela/project/base//etc/config/cometd/cometd_jetty_config.xml
到
start.jar --ini **--module**=server,jmx,resources,websocket,ext,plus,jsp,annotations /u/khandela/project/base//etc/config/cometd/cometd_jetty_config.xml
但我得到了以下警告:
警告:**无法继续,必需的依赖项丢失。 [JSP-IMPL / $ {JSP-IMPL} -jsp] 警告:**根据配置,由于缺少启用的模块依赖性,Jetty无法启动。 警告:**这可能是由于传递依赖性类似于npn上的spdy,它基于解析
如何解决?
答案 0 :(得分:2)
您看到的[jsp-impl/${jsp-impl}-jsp]
错误是因为当您请求启动Jetty时未定义默认的jsp实现。
Jetty 9.2.x有2 different core JSP engines available。
apache
- Apache Jasper JSP引擎(新的Jetty默认值)glassfish
- Glassfish Jasper JSP引擎(Jetty使用的原始版本。现已过时/错误并弃用) Jetty 9.2中的行为是强制用户决定他们想要使用哪种实现。
这是一个错误,只是让想要以自己的方式启动码头的用户感到困惑(即:不使用start.ini
或${jetty.base}
记录的机制)
A feature request was filed,9.2.1之后的下一个Jetty版本将为此值应用默认值。自动选择apache
。
与此同时,在等待Jetty 9.2.2(或9.3.0)时,添加一个属性来定义你想要使用的jsp-impl。
$ start.jar --module=server,jmx,resources,websocket,ext,plus,jsp,annotations
jsp-impl=apache
/u/khandela/project/base/etc/config/cometd/cometd_jetty_config.xml
注意:摆脱--ini
,因为start.jar没有使用
答案 1 :(得分:0)
我在Netbeans 8.0中有类似的问题启动Jetty 9.2.1。创建 JettyServer Jetty后,当我将实际的Jetty Base Locationin添加到 start.ini jsp-impl=apache
子句时。
完整列表 start.ini :
#===========================================================
# Jetty start.jar arguments
#
# The contents of this file, together with the *.ini
# files found in start.d directory are used to build
# the classpath and command line on a call to
# java -jar start.jar [arg...]
#
# Use the following command to see more options
# java -jar start.jar --help
#
# Each line in these files is prepended to the command line
# as arguments and may be either:
# + A property like: name=value
# + A module to enable like: --module=jmx
# + An XML configuration file like: etc/jetty-feature.xml
# + A start.jar option like: --dry-run
#
# If --exec or --dry-run are used, then this file may also
# contain lines with:
# + A JVM option like: -Xmx2000m
# + A System Property like: -Dcom.sun.management.jmxremote
#
# The --add-to-start=module option can be used to append
# a configuration template for a module to start.ini
# The --add-to-startd=module option can be used to create
# a configuration template for a module in start.d/module.ini
# For example configure and run with SPDY use
#
# java -jar start.jar --add-to-startd=spdy
# $EDITOR start.d/spdy.ini
# java -jar start.jar
#
#===========================================================
#
# Initialize module server
#
#--module=server
--module=server,websocket,jsp,ext,jmx,resources,plus,annotations,commandmanager
# removes bug
jsp-impl=apache
## Server Threading Configuration
# minimum number of threads
threads.min=10
# maximum number of threads
threads.max=200
# thread idle timeout in milliseconds
threads.timeout=60000
# What host to listen on (leave commented to listen on all interfaces)
#jetty.host=myhost.com
# Dump the state of the Jetty server, components, and webapps after startup
jetty.dump.start=false
# Dump the state of the Jetty server, before stop
jetty.dump.stop=false
#
# Initialize module deploy
#
--module=deploy
#
# Initialize module websocket
#
#--module=websocket
#
# Initialize module jsp
#
#--module=jsp
# JSP Configuration
# To use an non-jdk compiler for JSP compilation uncomment next line
# -Dorg.apache.jasper.compiler.disablejsr199=true
#
# Initialize module ext
#
#--module=ext
#
# Initialize module resources
#
#--module=resources
#--module=commandmanager
通过比较原始 start.ini 文件,您可以看到差异。