2017-02-05 7 views
1

Я попробовал первый Jetty, потому что они рекламировали он был разработан с модульностью в виду с нуля, но после того, как комментируя строку «--module = Jsp» в:Есть ли способ использовать только сервлет-движок Jetty (или Tomcat) (удалить всю функциональность JSP)?

{jetty.home}/start.ini 
{jetty.home}/demo-base/start.d/jsp.ini 

Много функциональных возможностей JSP загружается:

_STOP_PORT=65521 
_STOP_KEY="stop_now_123" 

java -jar ../start.jar STOP.PORT="${_STOP_PORT}" STOP.KEY="${_STOP_KEY}" --list-modules=jsp 

Available Modules: 
================== 
tags: [jsp] 

Enabled Modules: 
================ 
    0) ext    ${jetty.base}/start.d/ext.ini 
    1) resources  ${jetty.base}/start.d/resources.ini 
    2) server   ${jetty.base}/start.d/server.ini 
    3) jndi   ${jetty.base}/start.d/jndi.ini 
    4) security  transitive provider of security for webapp 
         transitive provider of security for plus 
    5) servlet   transitive provider of servlet for webapp 
         transitive provider of servlet for servlets 
         transitive provider of servlet for jsp 
    6) webapp   transitive provider of webapp for plus 
         transitive provider of webapp for deploy 
         init template available with --add-to-start=webapp 
    7) plus   transitive provider of plus for annotations 
    8) annotations  ${jetty.base}/start.d/annotations.ini 
    9) apache-jsp  transitive provider of apache-jsp for jsp 
    10) apache-jstl  transitive provider of apache-jstl for jstl 
    11) client   ${jetty.base}/start.d/client.ini 
    12) continuation ${jetty.base}/start.d/continuation.ini 
    13) deploy   ${jetty.base}/start.d/deploy.ini 
    14) http   ${jetty.base}/start.d/http.ini 
    15) ssl    transitive provider of ssl for https 
         init template available with --add-to-start=ssl 
    16) https   ${jetty.base}/start.d/https.ini 
    17) jaas   ${jetty.base}/start.d/demo.ini 
    18) jsp    ${jetty.base}/start.d/jsp.ini 
    19) jstl   ${jetty.base}/start.d/jstl.ini 
    20) rewrite   ${jetty.base}/start.d/demo.ini 
    21) servlets  ${jetty.base}/start.d/servlets.ini 
    22) websocket  ${jetty.base}/start.d/demo.ini 

~ в качестве теста я также начал Jetty и вошли все загруженные классы, используя свои тестовые страницы JSP (даже если модули JSP якобы не используются запуска двигателя Jetty в)

_LOG_FL="jetty_startup_loaded_classes_$(date +%Y%m%d%H%M%S).log" 

java -d64 -server -verbose:class -jar ../start.jar STOP.PORT="${_STOP_PORT}" STOP.KEY="${_STOP_KEY}") > "${_LOG_FL}" 2>&1 

$ cat "${_LOG_FL}" | grep jsp > "${_LOG_FL}"_jsp_classes_lines.log 

$ ls -l "${_LOG_FL}"_jsp_classes_lines.log 

$ wc -l "${_LOG_FL}"_jsp_classes_lines.log 

$ cat "${_LOG_FL}"_jsp_classes_lines.log | grep "\[Loaded org.apache.jsp.jsp" 
[Loaded org.apache.jsp.jsp.dump_jsp from file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-3200093898214200160.dir/jsp/] 
[Loaded org.apache.jsp.jsp.bean1_jsp from file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-3200093898214200160.dir/jsp/] 
[Loaded org.apache.jsp.jsp.bean2_jsp from file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-3200093898214200160.dir/jsp/] 
[Loaded org.apache.jsp.jsp.tag_jsp from file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-3200093898214200160.dir/jsp/] 
[Loaded org.apache.jsp.jsp.tagfile_jsp from file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-3200093898214200160.dir/jsp/] 
[Loaded org.apache.jsp.jsp.tagfile_jsp$Helper from file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-3200093898214200160.dir/jsp/] 
[Loaded org.apache.jsp.jsp.tag2_jsp from file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-3200093898214200160.dir/jsp/] 
[Loaded org.apache.jsp.jsp.tag2_jsp$Helper from file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-3200093898214200160.dir/jsp/] 
[Loaded org.apache.jsp.jsp.expr_jsp from file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-3200093898214200160.dir/jsp/] 
[Loaded org.apache.jsp.jsp.foo.foo_jsp from file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-3200093898214200160.dir/jsp/] 

~ lbrtchx

+0

Следующие рекомендации: Я сделал: –

ответ

0

Вам нужно отключить --module=jstl также это зависит от jsp модуля.

Module: jstl 
     : Enables JSTL for all webapplications deployed on the server 
Depend: jsp, apache-jstl 

Ref: Managing Startup Modules

+0

Примечание: другие модули зависят от 'jstl' (например:' cdi' и 'jfx') –

+0

Итак, что вы делаете в этом случае? Является ли зависимость cdi и jfx от jstl слишком глубокой? Любые подсказки о том, как закодировать эти зависимости как простые интерфейсы, файлы свойств или что-то еще? –

0

После Сьерра-х и предложения Erdfelt, я сделал удалить все Jsp и jslt модули зависимость и перемещены {jetty.home}/Lib/Apache-JSP от {jetty.home}. Все, кажется, работает нормально, но когда я попытался остановить причалом я получил:

$ time java -jar ../start.jar STOP.PORT="${_STOP_PORT}" STOP.KEY="${_STOP_KEY}" --stop 
java.lang.NullPointerException 
at org.eclipse.jetty.start.Main.stop(Main.java:576) 
at org.eclipse.jetty.start.Main.stop(Main.java:519) 
at org.eclipse.jetty.start.Main.doStop(Main.java:507) 
at org.eclipse.jetty.start.Main.start(Main.java:402) 
at org.eclipse.jetty.start.Main.main(Main.java:77) 

Usage: java -jar $JETTY_HOME/start.jar [options] [properties] [configs] 
java -jar $JETTY_HOME/start.jar --help # for more information 

real 2m8.334s 
user 0m1.737s 
sys 0m0.193s 

~ Все, что я должен сделать, это проверить эти стоп-линии и соответствующие стартовыми в org.eclipse.jetty. start.Main. Мне все еще интересно, как мой способ обезьяны мог повлиять на некоторые внутренние зависимости и переопределить cdi и jfx без JSP

+0

На самом деле эти проблемы, похоже, связаны с звонками домой обратно на webtide.com. Если вы решите отключиться от Интернета во время предварительного кодирования, очень большая задержка составляет 2 м8, прежде чем причал погаснет. Запуск wirehark дает вам больше идей. Интересно, почему webtide.com участвует в вашем закрытии/перезапуске сервера причалов во время циклов кодирования. Если у кого есть какие-то объяснения, я бы хотел это услышать. Мама сказала мне, чтобы я не разговаривал с незнакомыми людьми и оставался подключенным к Интернету, возможно, в наименьшее время я мог ;-) –

Смежные вопросы