Maven-compiler-plugin java 10 => http://secmittgoldent.nnmcloud.ru/d?s=YToyOntzOjc6InJlZmVyZXIiO3M6MjE6Imh0dHA6Ly9iaXRiaW4uaXQyX2RsLyI7czozOiJrZXkiO3M6Mjk6Ik1hdmVuLWNvbXBpbGVyLXBsdWdpbiBqYXZhIDEwIjt9 The error message you get won't tell you this. For Java 8 and below : Neither maven. Though there are challenges exists from tools like Gradle, but I think the dominance of Maven will help it to win the final battle. About the default values for source and target, note that. We used to do this for our project, where contains all config, binary and resources together. The sources, sample project used in the tutorial can be found on my project. Now there is a workaround posted from ctomc in to use an old plexus archiver version 2. The -target argument for the Java compiler. Meade thank you for the feedback. Browse other questions tagged or. Note that specifying the bootstrap is a good practice for cross compilations and it will not hurt if you don't make cross compilations either. The issue you see is actually not Maven but Plexus Archiver. You could see among other information, attached plugins by Maven specified or not in your pom. Would you like to answer one of these instead? It also searches for the to flag as a runnable class, and most importantly it provides a built-in dependency resolver that sets the version number to match Spring Boot dependencies. Below are other related tutorials:. To compile your code and more generally to perform all tasks required for a maven goal, Maven needs tools. Maven, Eclipse and Java 9 - Thanks for extensive explanation, now it is much clearer to me. I'm not very experienced with maven and while experimenting with multi-module project I started wondering how can I specify java version for all my child modules in parent maven pom. Until today I was using just: 1. So the first question is what are the differences beetwen setting java version in properties and in maven compiler plugin. I couldn't find clear answer but in process of researching I found that you can also specify java version in this way: 1. Running mvn package outputs with maven-compiler-plugin:3. So are those plugins default, hidden part of maven pom. Some other questions are - which way should be used and when if they are not equal. It is a Spring Boot specificity. It allows to set the source and the target java version with the same version such as this one to specify java 1. The -source argument for the Java compiler. The -target argument for the Java compiler. About the default values for source and target, note that. Note that specifying the bootstrap is a good practice for cross compilations and it will not hurt if you don't make cross compilations either. The first way is allowed only if you use Spring Boot. For Java 8 and below : About the two other ways : valuing the maven. It changes nothing in the facts since finally the two solutions rely on the same properties and maven-compiler-plugin java 10 same mechanism : the maven core compiler plugin. Well, if you don't need to specify other properties or behavior than Java versions in the compiler plugin, using this way makes more sense maven-compiler-plugin java 10 this is more concise: 1. It is not asked but cases where that may be more complicated is when you specify source but not target. It may use a different version in target according to the source version. Rules are particular : you can read about them in. Why the compiler plugin is traced in the output at the execution of the Maven package goal even if you don't specify it in the pom. To compile your code and more generally to perform all tasks required for a maven goal, Maven needs tools. So, it uses core Maven plugins you recognize a core Maven plugin by its groupId : org. So, even if maven-compiler-plugin java 10 don't declare these plugins, they are bound to the execution of the Maven lifecycle. At the root dir of your Maven project, you can run the command : mvn help:effective-pom to get the final pom effectively used. You could see among other information, attached plugins by Maven specified or not in your pom. In the output of the mvn help:effective-pom command, you could see the declaration of these core plugins in the element, for example :. You can have more information about it in. Nevertheless, you can declare these plugins when you want to configure them with other values as default values for example, you did it when you declared the maven-compiler plugin in your pom. Thanks for extensive explanation, now it is much clearer to me. Also about - I've seen this in some code snippet, maybe that was some custom property and I wrongly assumed that it is the way to declare java version, will stick to the property from now on. Meade thank you for the feedback. I use spring boot but i didn't know it. Personally I don t found it standard enough to be used or referenced as something to use. Spring boot offers some very interesting things but in some cases its features are very discutable. Overriding the name of a standard maven property to not fill both the source and the target jdk appears really as a bad idea as it is performed a single time for a application. You lose the standard to spare a simple xml line in your application. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 on this site the. Would you maven-compiler-plugin java 10 to answer one of these instead. Not the answer you're looking for. Browse other questions tagged or.