のために良い作品https://github.com/jreznot/diy-remote/blob/master/server/src/org/strangeway/diyremote/server/sys/ClasspathWebXmlConfiguration.java
ここでそれを行う方法です。あなたのpom.xmlで
まず、Webアプリケーションのフォルダがどこにあるかを宣言:ここ
<build>
<resources>
<resource>
<directory>src/main</directory>
</resource>
</resources>
は私のsrc /メインディレクトリのツリーです:
├── java
│ └── com
│ └── myco
│ └── myapp
│ └── worker
│ ├── App.java
| ...
├── resources
│ ├── log4j.properties
│ └── version.properties
└── webapp
├── index.html
├── index.jsp
├── lib
│ ├── inc_meta.jsp
│ └── inc_navigation.jsp
├── query.html
├── scripts
│ ├── angular.min.js
│ └── bootstrap.min.css
├── showresults.jsp
├── status.jsp
└── WEB-INF
└── web.xml
あなたの中のMavenシェードプラグインを追加します。 pom.xmlファイル:
0:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<finalName>uber-${artifactId}-${version}/finalName>
</configuration>
</plugin>
次に、このように桟橋を開始
public static void startJetty() throws Exception {
logger.info("starting Jetty...");
Server server = new Server(8080);
WebAppContext webAppContext = new WebAppContext();
webAppContext.setContextPath("/");
/* Important: Use getResource */
String webxmlLocation = App.class.getResource("/webapp/WEB-INF/web.xml").toString();
webAppContext.setDescriptor(webxmlLocation);
/* Important: Use getResource */
String resLocation = App.class.getResource("/webapp").toString();
webAppContext.setResourceBase(resLocation);
webAppContext.setParentLoaderPriority(true);
server.setHandler(webAppContext);
server.start();
server.join();
}
重要な部分は、<YourApp>.class.getResource(<your location>)
を使用して、jarファイル内のファイルへのパスを指定することです。間違った方法は、ファイルシステム上のパスを与えるwebContext.setDescriptor("WEB-INF/web.xml");
のようにすることです。
はその後ユーバー-jarファイルが生成され、リソースとして宣言されたwebappディレクトリが含まれているパッケージ
$mvn clean package
を作成します。
のどこか本番サーバー上でjarファイルを移動して、このようにそれを実行し
:
$ java -jar myjettyembededwithwebxmlandhtmljspfile.jar
リンクが壊れているように見えます。 –
リンクが修正されました – jreznot