javanotepad++nppexec

NppExec not being able to compile Java


I am trying to make NPPexec compile my java programs but the plugin doesn't work. I tried to direct it to were the file currently was, I gave up on that since it dint work and just made it to go to my code folder, still stayed normal. Javac seems to work fine, except for it not targeting the current file. Finally whenever it tried to run the program with the java command it freaked out and acted like it didn't have a registry key or anything really. My java works find on normal command prompt so I simply don't know know what to do.

Input:

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

Output:

 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 ===============

=


Solution

  • As for the nppexec command, try this:

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

    It works for me every time (provided that the path to the Java executables has been properly added to the path variable).

    Not sure about the error you are getting, though, but if the above doesn't work, this might help.