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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Jenkins

Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

3回答

8524閲覧

Mavenで自作jarを取り込む方法について

guzzle

総合スコア43

Jenkins

Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2016/07/28 03:28

編集2016/07/28 04:14

###前提・実現したいこと
Java + Spring Boot + Mavenで開発を行っております。
共通機能を持ったプロジェクトのjarを、各プロジェクトから利用したいのですが、
現在以下のようにして取り込めないかと思ってるのですが、うまくいきません。。。

  1. Jenkinsで共通機能プロジェクトをビルドして成果物のjarを保存(これはURLで参照できる)
  2. 上記の共通機能を利用したいプロジェクトのpom.xmlに以下のように記述
<dependency> <groupId>com.sample.test</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <repository> <id>com.sample.test</id> <name>demo</name> <!-- jarファイルをhttpで参照できるのでそのまま指定してみた --> <url>http://Jenkinsサーバー/共通機能.jar</url> </repository>

上記でmvn packageしてみたところ、「Failure to find xxxx」とエラーになり、
どうやらjarを取り込めていないようです。
そもそもの考え方、やり方がおかしいんでしょうか?

mavenローカルレポジトリにインストールする方法だと、
versionが上がる度に同じ作業をするのでやりたくなく、
jarそのものをlibなどに含めてしまうのもすっきりしないのでやりたくないです。

初心者で申し訳ありませんが、ご教授ください。

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

[WARNING] The POM for com.sample.test:demo:jar:0.0.1-SNAPSHOT is missing, no dependency information available [ERROR] Failed to execute goan on project test: Could not resolve dependencies for test:web:jar:0.0.1-SNAPSHOT: Failure to find com.sample.demo:jar:0.0.1-SNAPSHOT in http://Jenkinsサーバー/共通機能.jar

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ローカルネットワーク内で解決したい場合は、Nexusを導入する方法が手っ取り早いでしょうか。

[maven]ローカル環境にもmavenリポジトリを建てる!Nexusのインストールとプロジェクトの格納

が参考になるかと思います。一案として。

投稿2016/07/28 11:13

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自作した jar をGitHubに上げて、GitHubをMavenリポジトリにしてみてはどうでしょう?

投稿2016/07/28 06:11

root_jp

総合スコア4666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

回答ありがとうございました。
いったん以下のように対応しました。

  1. Jenkinsサーバーの公開ディレクトリに対して、Jenkinsサーバーのローカルリポジトリのリンクを張る
  2. 各プロジェクトからは上記公開ディレクトリのURLから取得する

上記突貫工事のため、MavenリポジトリをGitHubで管理する、Nexusを使って管理する、どちらも今後検討していきたいと思います。
コメント大変ありがとうございました。

しかしながら、ローカルで上記JenkinsサーバーのMavenリポジトリからjarなどが取得でき、
ローカルのMavenリポジトリに取り込めたのは確認できたのですが、
なぜかクラスなどが参照できません。。。
ビルドパスなどは通してますが謎です。。。
こちら内容が異なるので別途調査としてこちらはクローズさせて頂きます。

投稿2016/07/29 09:34

guzzle

総合スコア43

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guzzle

2016/07/29 10:33

上記クラスが参照できない件ですが、参照される側のプロジェクトをSpring Bootで作ってたのがおかしそうです。そもそも共通ライブラリのようなものはそれ単体で動かす事はないのに、なぜにSpring Bootなんだって話ですね。 いろいろ勉強します。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問