私はJava(jar)でデスクトップアプリケーションとして一種のプロキシサーバーを作成しました。それを戦争に変換する簡単な方法はありますか?それでTomcatにデプロイできますか?機能を追加したくありません。httpリクエストを処理する必要すらありません。jarをバックグラウンドで実行し、ソケットを受け入れます。
gradleを使用してみましたが、メインクラスを実行する必要があるかどうかわからないようです。
buildscript {
repositories {
mavenLocal()
}
}
apply plugin: "war"
repositories {
mavenLocal()
}
申し訳ありませんが、これはお粗末な質問です。これまでにこのようなことをしたことがなく、頭を包み込むことができないようです。
「WEB-INF」ディレクトリをjarに追加し、その中に「web.xml」を作成できます。次に、名前を[appname] .warに変更して、デプロイします。
Tomcat 7の例の「web.xml」:
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="ProxyApp" version="3.0" metadata-complete="false" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" >
<display-name>Proxy App</display-name>
</web-app>
更新
アプリの起動時にコードを呼び出すには、ServletContextListenerを使用します。
@WebListener
public class BootInitializer implements ServletContextListener {
// what to do startup?
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("Starting proxy application ...");
// your main method content here ...
}
// what to do shutdown?
@Override
public void contextDestroyed(ServletContextEvent arg0) {
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加