【问题标题】:Running the Eclipse Java formatter on the command line with eclipse 4.4使用 eclipse 4.4 在命令行上运行 Eclipse Java 格式化程序
【发布时间】:2015-12-12 12:22:29
【问题描述】:

我正在尝试使用code formatter docs 在命令行上运行 eclipse java 格式化程序,但它失败并出现异常消息

<current working directory>/--launcher.library file does not exist.

查看code formatter application code 似乎正在发生的事情是格式化程序的命令行解析器将某些 Eclipse 参数解释为不存在的相对文件名。

我知道 some people used to be able to get this to work,但那是 5 年前使用旧版本的 eclipse,我想知道是否有人能够在 eclipse 4.4 中使用相同的功能?

更新 1:

这是我使用的命令行:

/home/alexq/eclipse-luna-SR2-4.4.2/eclipse/eclipse -nosplash -consolelog -debug -application org.eclipse.jdt.core.JavaCodeFormatter -verbose -config /home/alexq/eclipse-user-files/formatter-config-for-scripts/MyCodingStandards.ini /home/alexq/eclipse-4.4.2-workspaces/MyWorkspace/MyProject/src/com/example/myproject/MyClassToBeFormatted.java

这是我的 eclipse.ini 文件的内容:

-showlocation
-vm
/home/alexq/JavaSE8/jdk1.8/bin/java
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20150204-1316
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Dorg.eclipse.swt.browser.XULRunnerPath=''

这是该命令的输出:

Start VM: /home/alexq/JavaSE8/jdk1.8/bin/java
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Dorg.eclipse.swt.browser.XULRunnerPath=''
-jar /home/alexq/eclipse-luna-SR2-4.4.2/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
-os linux
-ws gtk
-arch x86_64
-launcher /home/alexq/eclipse-luna-SR2-4.4.2/eclipse/eclipse
-name Eclipse
--launcher.library /home/alexq/eclipse-luna-SR2-4.4.2/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20150204-1316/eclipse_1607.so
-startup /home/alexq/eclipse-luna-SR2-4.4.2/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.appendVmargs
-exitdata 1008087
-showlocation
-product org.eclipse.epp.package.jee.product
-consolelog
-debug
-application org.eclipse.jdt.core.JavaCodeFormatter
-verbose
-config /home/alexq/eclipse-user-files/formatter-config-for-scripts/MyCodingStandards.ini
/home/alexq/eclipse-4.4.2-workspaces/MyWorkspace/MyProject/src/com/example/myproject/MyClass.java
-vm /home/alexq/JavaSE8/jdk1.8/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Dorg.eclipse.swt.browser.XULRunnerPath=''
-jar /home/alexq/eclipse-luna-SR2-4.4.2/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar 
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Install location:
    file:/home/alexq/eclipse-luna-SR2-4.4.2/eclipse/
Configuration file:
    file:/home/alexq/eclipse-luna-SR2-4.4.2/eclipse/configuration/config.ini loaded
Configuration location:
    file:/home/alexq/eclipse-luna-SR2-4.4.2/eclipse/configuration/
Framework located:
    file:/home/alexq/eclipse-luna-SR2-4.4.2/eclipse/plugins/org.eclipse.osgi_3.10.2.v20150203-1939.jar
Loading extension: reference:file:org.eclipse.osgi.compatibility.state_1.0.1.v20140709-1414.jar
        eclipse.properties not found
Framework classpath:
    file:/home/alexq/eclipse-luna-SR2-4.4.2/eclipse/plugins/org.eclipse.osgi_3.10.2.v20150203-1939.jar
    file:/home/alexq/eclipse-luna-SR2-4.4.2/eclipse/plugins/
    file:/home/alexq/eclipse-luna-SR2-4.4.2/eclipse/plugins/org.eclipse.osgi.compatibility.state_1.0.1.v20140709-1414.jar
Debug options:
    file:/home/alexq/eclipse-4.4.2-workspaces/MyWorkspace/MyProject/.options not found
Time to load bundles: 3
org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized.  Will retry after the state location is initialized.
Starting application: 1459
org.eclipse.m2e.logback.configuration: Logback config file: /home/alexq/workspace/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.5.1.20150109-1820.xml
org.eclipse.m2e.logback.configuration: Initializing logback
/home/alexq/eclipse-4.4.2-workspaces/MyWorkspace/MyProject/-showlocation does not exist. Please try specifying valid absolute path. 

Usage: eclipse -application org.eclipse.jdt.core.JavaCodeFormatter [ OPTIONS ] -config <configFile> <files>

   <files>   Java source files and/or directories to format.
             Only files ending with .java will be formatted in the given directory.
   -config <configFile> Use the formatting style from the specified properties file.
                        Refer to the help documentation to find out how to generate this file.

 OPTIONS:

   -help                Display this message.
   -quiet               Only print error messages.
   -verbose             Be verbose about the formatting job.

【问题讨论】:

标签: eclipse command-line eclipse-pdt eclipse-luna eclipse-formatter


【解决方案1】:

作为一种解决方法,我从 here 下载了 eclipse 3.6 并尝试运行相同的 eclipse 格式化程序命令,它成功了。

【讨论】:

    【解决方案2】:

    另一种解决方法 - 使用 Eclipse Neon.2,我刚刚从 eclipse.ini 的开头删除了 -showlocation,现在文件如下所示:

    -startup
    plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.401.v20161122-1740
    -product
    org.eclipse.epp.package.jee.product
    --launcher.defaultAction
    openFile
    -showsplash
    org.eclipse.platform
    --launcher.defaultAction
    openFile
    --launcher.appendVmargs
    -vmargs
    -Dosgi.requiredJavaVersion=1.8
    -XX:+UseG1GC
    -XX:+UseStringDeduplication
    -Dosgi.requiredJavaVersion=1.8
    -Xms2048m
    -Xmx2048m
    

    JavaCodeFormatter 现在可以从命令行运行。

    【讨论】:

      猜你喜欢
      • 2016-06-12
      • 2011-07-13
      • 2011-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多