[{PageViewPlugin}]
[Java], [Android Studio], [Visual Studio Code], [JSPWiki]
!!! Abstract
異論はあるかもしれませんが、自分の理解としては、[Java]用のantやmakeといったコンパイル作業を助けてくれるための便利なツールだと思っています。特に依存関係の扱いがスッキリします。
!!! Topics
!!Javaのバージョン
*2020年4月26日時点で、VSCで使われているMavenのデフォルトのJavaのバージョンは1.5らしい。
{{{
[ERROR] ソース・オプション5は現在サポートされていません。6以降を使用してください
。
[ERROR] ターゲット・オプション1.5は現在サポートされていません。1.6以降を使用して
ください。
}}}
が突然出るようにたって、コンパイルできなくなった。1.5に指定しているつもりはないのに。ということで、解決するにはPOM.XMLに以下を追加。
{{{
<project>
...
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
...
</project>
}}}
!!Javaプロジェクトの新規作成
*普通のJavaプロジェクト
|Eclipseを使わずにJavaプロジェクトの新規作成をしたい場合があります。コマンドライン上で適切なフォルダに移動し、下記のコマンドを打ち、パッケージ名とかプロジェクト名をインターアクティブに入力していくとプロジェクト名のフォルダができています。そのフォルダを[Visual Studio Code]で開くと実行できます。
{{{
$ mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart
}}}
*Webアプリ
|Tomcat用などのウェブアプリは、以下のコマンドで[2]。
|なお[2]で、web.xmlを編集しているが、Servlet3.0から、つまり[Tomcat]8からは、web.xmlにServletを登録する必要がなくなったので、@WebServlet("/path")とかでパスをServletのアノテーションで指定しておくと、http://hostname/appname/pathでそのサーブレットにアクセスできる。
{{{
$ mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
}}}
!!依存関係
* 使いたいライブラリがあったら、pom.xmlのDependencyを使うことを考えましょう。自分でどこかからjarファイルを作ってlibフォルダに入れてというやり方は古いようです。だいたい、ほしいjarの名前とMavenでGoogle先生に問い合わせると教えてくれます。もし公開されているMaven Repositoryに使いたいJarが見つからない場合は、libフォルダなどに保管したJarファイルをPOM.xmlから呼び出すこともできます。[1]
%%prettify
{{{
<dependency>
<groupId>org.braincopy</groupId>
<artifactId>braincopy</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/braincopy-1.0.0.jar</systemPath>
</dependency>
}}}
/%
!!EclipseでMaven
* [Eclipse]にちゃんとMaven用のプラグインが入っており、使いやすいです。Maven Dependencyなどがうまくいくはずなのにエラーが出る場合は、右クリックでRefreshを選んでみましょう。回復する場合があります。
* [Eclipse]でMaven使ってJavadocやろうとすると[{Image src='Maven/maven_eclipse_javadoc.png' width='500'}]
!!! Reference
# [#1][http://sinsengumi.net/blog/2012/12/maven%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%A7%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%82%B5%E3%83%BC%E3%83%89%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3jar/|http://sinsengumi.net/blog/2012/12/mavenリポジトリで提供されていないサードパーティjar/]
#[#2]a4dosanddos, 2015年3月5日, Mavenでwarファイルを作成する, [http://a4dosanddos.hatenablog.com/entry/2015/03/05/002822]