質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.22%

Spring Bootによりmvn deployをしたい

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 725

twilightFlyCry

score 12

前提・実現したいこと

Spring Bootでmvn installしたjarを任意の場所にdeployしたいです。
しかし、コンソールでmvn clean deployと打つとERRORがでます。

mvn installまでは実行可能です。
ビルドしたjarはjava -jarにより動確済みです。

そのため、エラー内容からしてdeployのプラグインに問題あるようです。
しかし、解決策が分かりません。
Spring Bootによるdeployの方法を教えてください。

もし、以下のデプロイの方法が間違っているなら正しい方法を教えてください。
ただし、Spring Boot + Mavenによる方法でお願いします。
MavenとはいえSpring BootによるMavenです。
公式サイトから別途ダウンロードして設定するなどは質問と異なります。

発生している問題・エラーメッセージ

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< jp.co.samplemaven:samplemaven-2 >-------------------
[INFO] Building samplemaven-2 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-deplo
y-plugin/2.8.2/maven-deploy-plugin-2.8.2.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.317 s
[INFO] Finished at: 2019-06-03T03:55:54+09:00
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin org.apache.maven.plugins:maven-deploy-plugin:2.8.2 or one of its dependencies could
not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-deploy-plugi
n:jar:2.8.2: Could not transfer artifact org.apache.maven.plugins:maven-deploy-plugin:pom:2.8.2 fro
m/to central (https://repo.maven.apache.org/maven2): Failed to transfer file https://repo.maven.apa
che.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/2.8.2/maven-deploy-plugin-2.8.2.pom wit
h status code 501 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following art
icles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

該当のソースコード

  • STS 4.2.2.RELEASE
  • Spring Boot 2.1.5.RELEASE
  • Java 1.8
  • Maven Spring Bootに依存

全量をコピペしていますが、大部分はString Bootによる自動生成です。
任意で設定したのは「<!-- デプロイ先の情報 -->」の部分のみです。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- Spring Bootの諸々設定を引き継ぐための親情報 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <!-- プロジェクトの情報 -->
    <groupId>jp.co.samplemaven</groupId>
    <artifactId>samplemaven-2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>samplemaven-2</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <!-- デプロイ先の情報 -->
    <distributionManagement>
        <repository>
            <id>internal.repo</id>
            <name>Temporary Staging Repository</name>
            <!-- とりあえずローカルリポジトリの適用な場所 -->
            <url>file://${project.build.directory}</url>
        </repository>
    </distributionManagement>

    <!-- 依存関係。MySQL、JPA、Lombokなど、mavenによりネット参照するライブラリはここに記述 -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- 自動リロード -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

以下は無関係と思いますが、一応、jarにしたいjavaファイルです。

package jp.co.samplemaven;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Samplemaven2Application {

    public static void main(String[] args) {
        SpringApplication.run(Samplemaven2Application.class, args);
    }

}
package jp.co.samplemaven.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

@RestController
@RequestMapping(path = "index/*")
public class IndexController {

    @RequestMapping(path = "init", method = { RequestMethod.GET, RequestMethod.POST })
    public ModelAndView init() {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("message", "hellow maven");
        modelAndView.setViewName("index.html");

        return modelAndView;
    }

}
<!DOCTYPE html>
<html lang="ja" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
    <meta charset="UTF-8" />
    <title>Insert title here</title>
</head>

<body>
    <span th:text="${message}"></span>
</body>
</html>
  1. Spring Starter Progectによりプロジェクト作成。
  2. 上記ソースコードを作成。
  3. Terminalビューでmvn clean deploy
  4. 上記のエラー発生

試したこと

  1. .m2\repository配下の削除
  2. mvn clean install
  3. mvn clean deploy

結果、変化なし

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • asahina1979

    2019/06/03 08:21

    そのプラグインを利用するにはローカルに正しくインストール及び設定されたTOMCATの設定をpom.xml記載する必要があります。
    ※ エクリプスを使わない開発時のデプロイしか使わないので詳しくは説明できないので公式サイトで確認してください

    キャンセル

回答 1

check解決した方法

0

以下の操作で解決しました。

  1. 「プロジェクトを右クリック→Run As→Maven build...」と操作。  
  2. Goalに「deploy」と入力し、Run。  

この操作を行った後、コンソールによるmvn deployも通るようになりました。
asahina1979さんのいうTomcatの設定は行っていません。

Spring Bootは諸々の設定を自動化してくれるフレームワークのため、
Run Asのさいに良しなにしてくれているのかもしれません。

いずれにせよ、協力していただきありがとうございます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.22%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる