4

这是我在这个论坛上的第一篇文章。我对 Maven 3 有疑问。操作系统:Windows 8 Professional RTM。

如果我运行任何 maven 命令(无论如何),我总是会得到以下答案:

用法:java [-options] class [args...](执行一个类)或java [-options] -jar jarfile [args...](执行一个jar文件)

其中选项包括: -server 选择“服务器”虚拟机 -hotspot 是“服务器”虚拟机的同义词 [不推荐使用] 默认虚拟机是服务器。

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
              A ; separated list of directories, JAR archives,
              and ZIP archives to search for class files.
-D<name>=<value>
              set a system property
-verbose[:class|gc|jni]
              enable verbose output
-version      print product version and exit
-version:<value>
              require the specified version to run
-showversion  print product version and continue
-jre-restrict-search | -jre-no-restrict-search
              include/exclude user private JREs in the version search
-? -help      print this help message
-X            print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
              enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
              disable assertions
-esa | -enablesystemassertions
              enable system assertions
-dsa | -disablesystemassertions
              disable system assertions
-agentlib:<libname>[=<options>]
              load native agent library <libname>, e.g. -agentlib:hprof
                see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
              load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
              load Java programming language agent, see java.lang.instrument

-splash:<imagepath>
              show splash screen with specified image

我使用了谷歌和论坛搜索,但唯一的结果是一个不同的问题:这是环境变量的问题(其中大多数以附加斜杠结束路径)。

如果我执行 java -version 我得到:

java 版本 "1.6.0_35" Java(TM) SE Runtime Environment (build 1.6.0_35-b10) Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, 混合模式)

如果我执行 javac -version 我得到:

javac 1.6.0_35

我使用的 Maven 版本是 3.0.4。这些是我添加的环境变量(我添加了 M2_HOME 和 MAVEN_HOME 因为我不确定哪个是正确的变量):

CATALINA_OPTS=%MAVEN_OPTS%
CLASSPATH=%JAVA_HOME%\src.zip;%JAVA_HOME%\lib\tools.jar;
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_35
M2_HOME=d:\software\apache-maven-3.0.4
MAVEN_HOME=d:\software\apache-maven-3.0.4
MAVEN_OPTS=-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m
PATH=%JAVA_HOME%\bin;%MAVEN_HOME%\bin;d:\software\eclipse;%M2_HOME%\bin

path 环境变量有更多路径,但我只是在这里粘贴了我为最后一年的项目添加的路径。

在此先感谢您的帮助。

4

5 回答 5

5

您需要设置的唯一环境变量是:

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_35
MAVEN_HOME=D:\software\apache-maven-3.0.4
PATH=%PATH%;%MAVEN_HOME%\bin;%JAVA_HOME%\bin

注意,使用 D: 而不是 d:

于 2012-10-26T19:41:22.523 回答
1

我使用 apache-maven-3.3.1 并看到与我测试的 Alberto 相同的问题,发现当您在以下目录上运行命令时可能会发生错误:“C:\”“D:\”“E:\”.. . 应该去至少 1 个文件夹,例如:“D:\TestApp”

于 2015-04-27T08:58:19.680 回答
0

尝试改变JAVA_HOME="C:\Program Files\Java\jdk1.6.0_35"

于 2012-10-26T18:48:51.140 回答
0

我创建了一个文件夹 P:\projects。

我在那个文件夹中运行了 mvn 。mvn 按预期运行。

我将目录更改为 P:\ 以运行 mvn。如本问题所述,mvn 使用 java 使用建议脱口而出错误。

我发现,通过撕开 mvn.bat,Maven 不能接受 JVM 属性

“-Dmaven.multiModuleProjectDirectory=P:\”

当它的值是设备的根文件夹时。

我还没有在 Linux 中尝试过。

顺便说一句,我还发现 mvn 有一条拼写错误的错误消息。错误消息是“未定义 multiModuleProjectDirectory属性”。起初我读到“multiModuleProjectDirectory 没有正确定义”。

于 2015-03-25T01:39:04.557 回答
0
>I found that Maven cannot accept the JVM >property 
>
>
>"-Dmaven.multiModuleProjectDirectory=P:\"
>
>when it's value is the root folder of a device.

除 c:\ 以外的任何目录作为当前目录,现在...

mvn -v works.  
于 2015-08-20T14:54:05.580 回答