mavenでJettyを実行するところまでの備忘録。実行には、jetty-maven-pluginを使います。
必要なもの
Javaを設定しJAVA_HOMEを設定後、パスに追加する。mavenを解凍し、maven/bin もパスに追加する。
ちなみに、maven-jetty-pluginは以下を参照。
WebApps プロジェクト作成
以下のmvnコマンドを実行すると、test-serverフォルダが作成される
$ mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=test.webapp -DartifactId=test-server -Dpackage=test.webapp -DinteractiveMode=false
以下のように出力される
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.3:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.3:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:2.3:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-webapp:1.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: basedir, Value: c:\Workspace\eclipse\ws-p\ztest
[INFO] Parameter: package, Value: test.webapp
[INFO] Parameter: groupId, Value: test.webapp
[INFO] Parameter: artifactId, Value: test-server
[INFO] Parameter: packageName, Value: test.webapp
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: c:\Workspace\eclipse\ws-p\ztest\test-server
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.457 s
[INFO] Finished at: 2015-08-23T18:19:26+09:00
[INFO] Final Memory: 13M/193M
[INFO] ------------------------------------------------------------------------
ディレクトリ構成は以下のとおり。
C:.
└─src
└─main
├─resources
└─webapp
└─WEB-INF
pom.xml の作成
以下のpom.xmlを用意する。jetty.versionは適宜修正。
dependencyは、以下を追加する。
* jetty-server
* jetty-webapp
pluginには、以下を追加する。
* jetty-maven-plugin
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlnsxsi="http://www.w3.org/2001/XMLSchema-instance"
xsischemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test.webapp</groupId>
<artifactId>test-server</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>test-server Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<jettyversion>9.3.2.v20150730</jettyversion>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<version>${jetty.version}</version>
</dependency>
</dependencies>
<build>
<finalName>test-server</finalName>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty.version}</version>
</plugin>
</plugins>
</build>
</project>
インストール&実行
インストールを実行すると色々追加される。
mvn install
C:.
├─src
│ └─main
│ ├─resources
│ └─webapp
│ └─WEB-INF
└─target
├─classes
├─maven-archiver
└─test-server
├─META-INF
└─WEB-INF
├─classes
└─lib
jettyを実行する。
mvn jetty:run
ログが表示され http://localhost:8080/ にアクセスしてHello Worldが表示されればOK。
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building test-server Maven Webapp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> jetty-maven-plugin:9.3.2.v20150730:run (default-cli) > test-compile @ test-server >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ test-server ---
[WARNING] Using platform encoding (MS932 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ test-server ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ test-server ---
[WARNING] Using platform encoding (MS932 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory c:\Workspace\eclipse\ws-p\ztest\test-server\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ test-server ---
[INFO] No sources to compile
[INFO]
[INFO] <<< jetty-maven-plugin:9.3.2.v20150730:run (default-cli) < test-compile @ test-server <<<
[INFO]
[INFO] --- jetty-maven-plugin:9.3.2.v20150730:run (default-cli) @ test-server ---
[INFO] Configuring Jetty for project: test-server Maven Webapp
[INFO] webAppSourceDirectory not set. Trying src\main\webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes = C:\Workspace\eclipse\ws-p\ztest\test-server\target\classes
[INFO] Logging initialized @4335ms
[INFO] Context path = /