1

我正在尝试将 Jetty 从 7.6 切换到 9.2。

我阅读并理解“选项”将不再起作用。所以我改变了我的命令

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 的传递依赖,它基于

如何解决?

4

2 回答 2

2

您看到的错误[jsp-impl/${jsp-impl}-jsp]是因为在您请求启动 Jetty 时未定义默认的 jsp 实现。

Jetty 9.2.x 有2 个不同的核心 JSP 引擎可用

  • apache- Apache Jasper JSP 引擎(新的 Jetty 默认)
  • glassfish- Glassfish Jasper JSP 引擎(Jetty 使用的原始版本。现在已过时/有问题并已弃用)

Jetty 9.2 中的行为是强制用户决定他们想要使用的实现。这是一个错误,只会让想要以自己的方式启动码头的用户感到困惑(即:不使用start.ini${jetty.base}记录的机制)

提交了功能请求,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

注意:摆脱--inistart.jar 不使用的

于 2014-07-02T21:20:42.880 回答
0

我在 Netbeans 8.0 中遇到了类似的问题来启动 Jetty 9.2.1。创建JettyServer Jetty 启动后,当我在start.ini jsp-impl=apache子句中添加到实际的Jetty Base Locationin 时。

有完整的清单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文件,您可以看到差异。

于 2014-09-23T14:01:03.770 回答