This article also serves as a reminder when building the Maven development environment, and is an article for the following people. ・ I've seen various Web sites, but I can't build a Maven development environment because something is missing. ・ Since the theory and mechanism are good, it is only necessary to build the Maven development environment for the time being. -I can't find the setting to build by myself, just the description of "dependency" in the library I want to use. ・ I understand Maven itself, but I can't link with Eclipse.
"Maven" is basically a tool for building Java programs. For those who have touched C language, I think it's easy to imagine something like make.
Similar tools include Ant and Gradle, but they are essentially the same, only in different ways. It is a tool that can automatically arrange the libraries that depend on before and after compilation, ** just write XML **, and do various things together with the build.
If you search for "What is Maven", you will find a lot of Web sites that have a lot of difficult things written on them, but I don't think you need to read them all at the super-introduction stage. Not limited to Maven, the author is prepared for anything like that (laugh) This article is aimed at people with a "temporary" constitution like the author.
If you say "No, I want to understand from corner to corner!", Please see the reference link at the end.
First, install Maven itself. From this point onward, the articles will be written assuming a development environment on Windows. If you are using Mac or Linux, please read it accordingly.
Download Maven itself from here. Since it is Windows, let's download the one in zip format.
Unzip the downloaded zip to any folder. In my environment, I chose "C: \ maven". * The folder name has been changed.
After decompressing, the tree will look like the one below.
C:\maven
├─bin
├─boot
├─conf
│ └─ ・ ・ ・ └─lib ├─ ・ ・ ・ └─ ・ ・ ・
Add "C: \ maven \ bin" to the beginning of the environment variable Path.
■ How to add environment variable Path (Windows 7) Right-click on the computer > Properties (R) > Advanced system settings > Environment variables Click in the order of. Add "C: \ maven \ bin" to the lower window, Path in the system environment variable (S).
Start a command prompt and enter the command "mvn -version". Installation is complete if the following display is displayed.
■ Command display example Apache Maven 3.X.X ~ Omitted ~ Maven home: C:\maven Java version: 1.8.0_xxx, vendor: Oracle Corporation Java home: C:\Program Files\Java\jre1.8.0_xxx" ~ Omitted ~
By the way, the installation is completed. From here, configure the settings for the installed Maven. This setting may not be necessary for some people, but if you do not do it, you may be in trouble later.
I won't go into details, but I've skipped the settings here, which made me a lot of trouble later orz.
First, create a repository locally to store the downloaded jars, such as the libraries that Maven depends on. If you don't do this, Maven's default repository will be created, but it's a good idea to do so for manageability.
The local repository is set by describing the repository path in "settings.xml" in conf in the installed Maven directory (hereinafter, MAVEN_HOME).
A lot of English is written in settings.xml from the beginning, but most of them are comments.
There should be a \
You can uncomment and revive it, but this time I'll list it just below the comment.
settings.xml(Excerpt)
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<!--★ From here ★-->
<localRepository>C:/maven/repository\</localRepository>
<!--★ Up to here ★-->
I have set MAVEN_HOME to my local repository.
When using Maven in a proxy environment, when downloading a library from a central repository etc., you cannot connect unless a proxy is set. This is also described in settings.xml.
settings.xml(Excerpt)
<!-- proxies
| This is a list of proxies which can be used on this machine to connect to the network.
| Unless otherwise specified (by system property or command-line switch), the first proxy
| specification in this list marked as active will be used.
|-->
<!--★ From here-->
<proxies>
<proxy>
<id>proxy01</id> ※settings.Anything is fine as long as it is unique in xml
<active>true</active>
<protocol>http</protocol>
<username>proxyuser</username>* If a user is required for proxy connection, describe it.
<password>proxypass</password>* If a password is required for proxy connection, enter it.
<host>proxy.host.net</host>* Enter by host name or IP address
<port>8080</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
</proxies>
<!--★ Up to here-->
This completes the settings for Maven itself.
It's almost time to get tired, but it's still a long way before Maven is available. From here, set Eclipse. In my environment, I use Eclipse 4.4 (Luna).
First, install the plugin.
On Eclipse Help > Eclipse Marketplace Click and enter "m2e" in the window that appears to search. From the search results, "Install Maven integration for Eclipse (Luna and newer) 1.5.
After installation, restart Eclipse and you're done.
Set the installed plugin. Some people may be able to get this setting without doing it, but in my environment, if I don't do this, I can't even build because of an error such as "The building plan couldn't be calculated". became.
Window> Settings Click to display the settings window.
Maven > User settings In the "User Settings" text box, enter the settings.xml you set earlier. After inputting, click the OK button to complete the Maven plug-in settings.
By the way, it's been a long time underlaying up to this point. At this point, you're all set to use Maven. Of course, it is necessary to adjust the settings according to the project, but this will not be inconvenient for creating a working environment for the time being.
From here, we will actually create a project using Maven and create a program that outputs the familiar Hello World.
First, create an Eclipse project. There is also a way to create a project with Maven commands, but this time I will create a project from Eclipse.
File > New > Other > Maven Project Select to display the project creation screen.
Click Next to proceed to the next screen. Check "Create a simple project" and proceed to the next.
Enter any ID for Group ID and Artifact ID and click Finish.
After a short wait, a project with an image-like tree will be created. However, for some reason there was a yellow surprise mark from the beginning ... What is this ...? When I look at the problem view, it seems that the build path is saying ... I think that some people may not get it depending on the environment, but I have a strong pull like this, so even if there is an error that does not make people, I will definitely pull it.
Although a warning has been issued, the process of creating a project has been completed. If you don't mind the warning, you can do Maven development as it is. If you think "Is it a warning after all?", Please continue to develop it as it is.
However, if you think, "What? What is this warning? It doesn't make sense and I want to erase it?", Don't worry. If you read more, I'll show you how to get rid of this warning.
Now that the project is complete, it's time to get into the practical content. Maven is well worth the tedious preparatory work. I'm sure it won't hurt. Because, if you write ** XML, ** Maven will build it according to the rules. If you take it seriously, it will do the deployment without permission after building.
However, as I mentioned at the beginning, it is necessary to write ** XML **. Yes, you can enjoy the taste of ** Maven by writing ** XML.
That XML is the problem. It's annoying. The XML configuration file I've written so far. Nesting incomprehensible tags in layers ... forgetting to close the tags and getting an error ... So much for black history, let's introduce how to write XML.
I don't know the origin of the name because I haven't investigated it in particular, but it is a Maven configuration file that manages the project settings. Large for components ・ Dependency ・ Plugin It is a configuration file that describes what kind of library is essential for developing a program and what kind of plug-in is used to add useful functions to Maven.
To be honest, it's more of a hassle than going around the world of the web, downloading the latest jars, creating a library management folder, putting it in it, setting the build path, and so on. It's a little better.
In addition, once this pom.xml is created, when developing in large numbers, if you pass only this file, each member will not have to build a development environment with a large number of steps. Let's do our best to edit pom.xml to enjoy the taste of Maven development.
Maven also needs a plugin to compile java. Don't think, "What? What? Use it!" You can do pretty much anything as long as you put in a plugin. Among them, the first thing that must be installed is the compiler plugin.
When I created the Eclipse project, a warning should have occurred, but that warning can be resolved by installing the compiler plugin and setting it properly. To install the plugin, write the plugin settings in pom.xml.
I think there is a file called pom.xml at the root of the hello-world project. Edit this as follows.
pom.xml
<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>
<groupId>maven.hello</groupId>
<artifactId>hello-world</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--★ From here-->
<!--Character code and Java version settings-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--In my environment I set the version to 8-->
<java.version>1.8</java.version>
</properties>
<!--Plugin settings-->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<!--Set Java version here-->
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
<!--★ Up to here-->
</project>
Write the above contents to pom.xml and save it. Then, the Eclipse build will start, and the warning that has been issued since the project was created will disappear.
If the warning does not disappear after modifying the contents of pom.xml Right-click on the project > Maven > Update project (U) Click.
5.3. Hello World! At this point, all the project settings are complete. The rest is completed by incorporating the process of actually outputting Hello World.
Let's add a class to "src / main / java" displayed in the package explorer like a normal Java project.
HelloWorld.java
package hello.main;
/**
*Hello World on Maven
*/
public class HelloWorld {
/**
*main processing
*Display Hello World on standard output.
* @param args command arguments
*/
public static void main(String[] args) {
System.out.println("Hello Maven World!");
}
}
Add this class and you're done implementing Hello World. If you run it as a Java application as it is, you can usually run Hello World. But this is a Maven project! Use the one built with Maven.
Finally, I'll show you how to build a Java project using Maven. This time, we will generate everything from compilation to build artifacts at once, so specify "install" for goal. goal is a command argument specified when Maven is executed. Strictly speaking, it has a decent meaning, but I won't explain it here, so please look at a decent reference book to understand the "phase" and "goal".
To do the act of install in Maven Right click on the project > Run > install Select.
Then, the rattling process will proceed on the console. The first build takes quite some time as it downloads a lot of things, such as the Compiler plugin, from a place called the Maven Central Repository.
Finally, [INFO] BUILD SUCCESS Is output, the build is completed successfully.
Then a folder called "target" will appear in the project, and there should be a built jar file there. If it does not appear, refresh the project. If you followed the steps so far, you should have a jar file called "hello-world-0.0.1-SNAPSHOT.jar" built.
You can run Hello World by running this at the command prompt. This time, it is not built as an executable jar file with the entry point specified, so execute it with the following command.
Command: java -classpath hello-world-0.0.1-SNAPSHOT.jar hello.main.HelloWorld
Then, the character string "Hello Maven World!" Is on the command line!
Congratulations! And it was cheers for good work! You have successfully created a Java program using Maven!
It's been a long time, but thank you for staying with us so far. What did you think? Could you have a little experience with Maven? I hope it helps those who have been stumbling on Maven's development environment construction.
Also, since I learned about Maven on this occasion, I wouldn't be so happy if anyone would like to try it.
・ TECH SCORE http://www.techscore.com/tech/Java/ApacheJakarta/Maven/2/
・ Basic usage of Maven 3 https://www.qoosky.io/techs/07d7bf8708
・ How to use Maven http://qiita.com/soushiy/items/6095401054959ce5d1a5
Recommended Posts