Jetty9でServletをmvn jetty:runで実行する方法について
お世話になっております。さて
Jetty9でつくる組み込みwebサーバーとservletのTips
を参考にサーブレットを作っています。(IDEにはIntellij IDEA 2017.1.4を使っています)。リンク先にGitHubへのリンクがあり、そこからプロジェクトをダウンロードできます。IDE上で右クリック、Run を選択するとWebサーバが起動し、サーブレットが使えます。
これをサーバで動かそうとして、mvn jetty:run
しようとするとプラグインが足りないので、pom.xml
に
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.4.v20170414</version>
<configuration>
<httpConnector>
<port>8080</port>
</httpConnector>
</configuration>
</plugin>
を追加してmvn jetty:run
するとWebサーバは起動しますが、サーブレットが起動せず、デフォルトのディレクトリを探索できるモードになります。mvn jetty:run
については
も参考にしています。起動時のログは
[INFO] Logging initialized @2971ms to org.eclipse.jetty.util.log.Slf4jLog
[INFO] Configuring Jetty for project: jetty9-server-quick-start
[INFO] webAppSourceDirectory not set. Trying src/main/webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes = /Users/keisuke/Downloads/jetty9-quick-start-master/target/classes
[INFO] Context path = /
[INFO] Tmp directory = /Users/keisuke/Downloads/jetty9-quick-start-master/target/tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides = none
[INFO] web.xml file = null
[INFO] Webapp directory = /Users/keisuke/Downloads/jetty9-quick-start-master/src/main/webapp
[INFO] jetty-9.4.4.v20170414
[INFO] Scanning elapsed time=236ms
[INFO] DefaultSessionIdManager workerName=node0
[INFO] No SessionScavenger set, using defaults
[INFO] Scavenging every 660000ms
[INFO] Started o.e.j.m.p.JettyWebAppContext@4078695f{/,file:///Users/keisuke/Downloads/jetty9-quick-start-master/src/main/webapp/,AVAILABLE}{file:///Users/keisuke/Downloads/jetty9-quick-start-master/src/main/webapp/}
[INFO] Started ServerConnector@5a82ebf8{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
[INFO] Started @4135ms
[INFO] Started Jetty Server
となっており、src/main/webapp
以下の静的ファイルにはアクセスできますが、サーブレットにはアクセスできません。
main()
を含むクラスを指定することが必要だと思いますが、その方法がわかりません。
http://www.eclipse.org/jetty/documentation/9.4.x/jetty-maven-plugin.html#jetty-run-goal
を参考に手探りに設定を探していますが、解決していません。アドバイスを頂けたら幸いです。よろしくお願いします。