私はJavaで書かれ、mavenで管理されている桟橋のアプリです。ブラウザから実行できる基本的なタスクがいくつかありますが、主にコマンドライン(またはJenkins)から実行すると、すべてのタスクが1つの方法で実行されます。Springブートを起動し、Mavenプロファイルを使用して電話をかける
それは、特定のMavenのプロファイルを呼び出すことによってこれを行い
自動実行プロファイルは、メインの手順では、クライアントであり
<profile>
<id>autorun</id>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>install</phase>
<configuration>
<target>
<property name="runtime_classpath" refid="maven.runtime.classpath"/>
<java classname="com.app.tool.Client" >
<arg value="-h" />
<classpath>
<pathelement path="${runtime_classpath}"/>
</classpath>
</java>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
mvn clean install -P autorun
あるので、Mavenのコマンドラインコールがされクラス
public static void main(String... args) throws Exception { ...
基本的に
- が
org.eclipse.jetty.server.Server
オブジェクト - を作成
は、httpサーバアプリ
をキックオフするwarファイルを使用して線に沿ってコードを使用して、タスクの数をオフに解雇する
org.springframework.http.client.ClientHttpRequest
オブジェクトの数を使用しますClientHttpRequest request = restTemplate .getRequestFactory() .createRequest( new URI("http://localhost:8080/tool/spring/" + jobName), HttpMethod.GET); ClientHttpResponse clientHttpResponse = request.execute(); if (clientHttpResponse.getStatusCode().value() != HttpStatus.OK_200) { throw new RuntimeException(...); }
の私は、様々な理由のために今のアプリをリファクタリングするつもりです。私の目的は、現在のデザインをコンソールアプリケーションの主な使用ポイントにしていますが、もっと便利な対話機能を追加したいと思っています。
最後に、私はSpringブートアプリケーションとしてアプリケーションを書き直しました。私はコマンドライン(そしてジェンキンス)から欲しい仕事をまだ発射することができるようにしたいと思います。 Springブート& Mavenでこれを行う簡単な方法(&相当)はありますか?私は現在、サーバを起動するために使用されるコードの多くをダンプすることができることを推測している
public static void main(String[] args) throws Exception {
SpringApplication.run(SpringBootStartUpConfig.class, args);
}
ここにスイッチを渡す必要があるので、おそらくアプリをオフに解雇するには、メインを使用していますが、私は苦労していますこれを達成する最善の方法を見つけるには? (これは私たちが使用しているコアツールですので、Mavenを使用することをお勧めしますが、これが優れている場合はGradleを使用できます)。コマンドラインから春のブートアプリケーションを実行するには
を使用して、なぜ要求を発行するコマンドラインから起動異なる? mavenを使用しているときは、単にプロファイルやその他のものの代わりに 'mvn springBoot:run'を使ってアプリケーションを起動することができます。 –