首页 > 解决方案 > NppExec 无法编译 Java

问题描述

我试图让 NPPexec 编译我的 java 程序,但插件不起作用。我试图将它指向当前的文件,我放弃了,因为它可以正常工作,只是让它进入我的代码文件夹,仍然保持正常。Javac 似乎工作正常,除了它不针对当前文件。最后,每当它尝试使用 java 命令运行程序时,它都会吓坏并表现得好像它没有注册表项或任何东西。我的 java 可以在正常的命令提示符下找到,所以我根本不知道该怎么做。

输入:

 cd desktop
    cd code
    javac $(FILE_NAME.JAVA)
    java $(NAME)

输出:

 CD: desktop
    Current directory: C:\Program Files (x86)\Notepad++
    CD: code
    Current directory: C:\Program Files (x86)\Notepad++
    javac 
    Process started (PID=14076) >>>
    Usage: javac <options> <source files>
    where possible options include:
      -g                         Generate all debugging info
      -g:none                    Generate no debugging info
      -g:{lines,vars,source}     Generate only some debugging info
      -nowarn                    Generate no warnings
      -verbose                   Output messages about what the compiler is doing
      -deprecation               Output source locations where deprecated APIs are used
      -classpath <path>          Specify where to find user class files and annotation processors
      -cp <path>                 Specify where to find user class files and annotation processors
      -sourcepath <path>         Specify where to find input source files
      -bootclasspath <path>      Override location of bootstrap class files
      -extdirs <dirs>            Override location of installed extensions
      -endorseddirs <dirs>       Override location of endorsed standards path
      -proc:{none,only}          Control whether annotation processing and/or compilation is done.
      -processor <class1>[,<class2>,<class3>...] Names of the annotation processors to run; bypasses default discovery process
      -processorpath <path>      Specify where to find annotation processors
      -parameters                Generate metadata for reflection on method parameters
      -d <directory>             Specify where to place generated class files
      -s <directory>             Specify where to place generated source files
      -h <directory>             Specify where to place generated native header files
      -implicit:{none,class}     Specify whether or not to generate class files for implicitly referenced files
      -encoding <encoding>       Specify character encoding used by source files
      -source <release>          Provide source compatibility with specified release
      -target <release>          Generate class files for specific VM version
      -profile <profile>         Check that API used is available in the specified profile
      -version                   Version information
      -help                      Print a synopsis of standard options
      -Akey[=value]              Options to pass to annotation processors
      -X                         Print a synopsis of nonstandard options
      -J<flag>                   Pass <flag> directly to the runtime system
      -Werror                    Terminate compilation if warnings occur
      @<filename>                Read options and filenames from file

    <<< Process finished (PID=14076). (Exit code 2)
    java 
    Process started (PID=6964) >>>
    Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'
    has value '1.8', but '1.7' is required.
    Error: could not find java.dll
    Error: Could not find Java SE Runtime Environment.
    <<< Process finished (PID=6964). (Exit code 2)
    ================ READY ===============

=

标签: javanotepad++nppexec

解决方案


至于nppexec命令,试试这个:

cd "$(CURRENT_DIRECTORY)"
javac $(FILE_NAME)
java $(NAME_PART)

它每次都对我有用(前提是 Java 可执行文件的路径已正确添加到路径变量中)。

不过,不确定您遇到的错误,但如果上述方法不起作用,可能会有所帮助。


推荐阅读