我一直在尝试将Notepad ++设置为一个小Java环境,主要用于学习Java,因为我在使用NetBeans时遇到一个简单的程序有些困难,遗憾的是有关设置Notepad ++以调用Java代码的所有建议没有用。
我猜notepad ++已经改变,或者Java开发工具包已被大量修改,因为我使用的所有示例都会导致错误,即使几乎没有错误的余地。
开始我找到了这个网站: http://blog.sanaulla.info/2008/07/25/using-notepad-to-compile-and-run-java-programs/
这是运行Javac来编译代码的代码:
javac “$(FILE_NAME)”
和
java “$(NAME_PART)”
运行生成的字节代码,但这完全没有成功。 Java已正确设置,我可以通过CMD调用Java程序来完成它的工作。
使用名为npp的插件并通过F6调用并使用此代码运行(在注释中给出)成功将Java程序编译为正确的.class文件,但是命令在运行程序时失败
cd “$(CURRENT_DIRECTORY)”
javac $(FILE_NAME)
java $(NAME_PART)
Notepad ++中控制台的错误是:
java.lang.NoClassDefFoundError: first
Caused by: java.lang.ClassNotFoundException: first
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: first. Program will exit.
Exception in thread "main"
我认为设置Notepad ++来编译和运行代码会很容易和有趣,但似乎互联网上的所有文档都已过时,因为没有任何作用。
我想从Notepad ++
中编写和运行Java代码我可以使用CMD,但我更愿意将它集成到notepad ++中
感谢您提供任何可能的帮助。干杯:)
编辑:我正在使用最新版本的Java,记事本++和Windows 7编辑2:代码:
//A Very Simple Example
class ExampleProgram {
public static void main(String[] args){
System.out.println("I'm a Simple Program");
}
}
答案 0 :(得分:16)
与Eclipse或Netbeans等IDE相关的“学习曲线”最初主要涉及您已经拥有的内容 - 设置类路径,环境变量等知识。而不是Notepad ++(我喜欢它,但它不是为Java制作的),我建议使用Eclipse,特别是如果你有一台可怕的PC(它有点内存饥饿)。除了设置路径之外,之后你就可以开始摇滚了。
Eclipse正在积极开放地开发,是目前记录最多的IDE之一。教程必将正常工作:)。但说真的,这很不错。然后,当您想要扩展到Java开发或其他类型的Java编程时,只需加载所需的加载项,您就会大笑。它还支持调试,Notepad ++当然无法与之竞争。
答案 1 :(得分:2)
可能将最后一行更改为:
java -cp . $(NAME_PART)
会为你效劳。问题是你没有设置类路径。
Notepad ++可以用于编译单个文件项目。除此之外,您将需要一个IDE或至少与ant集成而不是Java编译器。
答案 2 :(得分:1)
在java命令中设置类路径,如下所示:
java -classpath “$(CURRENT_DIRECTORY)” “$(NAME_PART)”
答案 3 :(得分:1)
虽然我确信你必须使用IDE(NetBeans,Eclipse,IntelliJ IDEA(我使用)),但我认为了解和了解你的小例子中的失败总是好的。 使用IDE,可以配置编译和运行时环境,但作为开发人员,了解隐藏的基本概念非常重要。 无论如何,
根据您发布的链接,以下是您必须定义的环境变量
FULL_CURRENT_PATH: C:\Documents and Settings\Administrator\My Documents\JavaP\ExampleProgram.java
CURRENT_DIRECTORY: C:\Documents and Settings\Administrator\My Documents\JavaP\
FILE_NAME: ExampleProgram.java
NAME_PART: ExampleProgram
EXT_PART:java
确保根据这些设置命名所有设置,即:
- your source file is under C:\Documents and Settings\Administrator\My Documents\JavaP\
- your source file is named ExampleProgram.java
答案 4 :(得分:0)
我同意接受的答案但我有时使用Textpad来快速编写/编译/运行小型Java程序。 Textpad具有此内置功能(工具/外部工具)。 如果您没有看到此选项,我认为您必须转到配置/首选项/工具并添加它们。 然后你可以按Ctrl-1编译,然后按Ctrl-2运行。 这对于非常小的快速测试,没有库或任何东西都很有用。
答案 5 :(得分:0)
您可以按照上面的建议使用eclipse,只需创建一个java项目。创建项目后,只需将要使用的java文件拖放到项目中,然后选择链接文件选项。这样eclipse将创建文件的副本并将其链接到您的文件,这意味着您对一个文件所做的每个更改都将被复制到另一个文件中。
答案 6 :(得分:0)
我最近遇到了Windows 7 64位的这种情况。 Notepad ++是一个32位程序,因此Windows已启用"文件系统重定向"根据{{3}},它及其插件(包括NppExec)。我还安装了最新的64位JDK 8.xx,但安装了早期的32位JRE 7.xx。
现在,JRE 7.xx安装程序在其C:\ Windows \ system32中放置了一个java.exe副本(或者我没有检查过硬链接) - 实际上是C:\ Windows \ SysWOW64 \ java.exe的。这不在像cmd.exe这样的64位应用程序的PATH中,而是在32位应用程序的(重定向)PATH中。
然后在安装JDK 8.xx之后,安装程序没有更新我的PATH,因此我将JDK安装位置添加到PATH的末尾。从那时起,我观察到的行为是:
修复是更新或删除32位JRE。
答案 7 :(得分:0)
您可以尝试为jdk bin路径添加系统环境变量。当我第一次在notepad ++上运行java时,我也遇到了类似的问题。
答案 8 :(得分:0)
你可以在" run"中使用这个小代码记事本++模块:
<script>
$(document).ready(function(){
$(".scroll").pullToRefresh({
refresh:200
})
.on("refresh.pulltorefresh", function (){
location.reload();
});
});
</script>
<div class="scroll">
<div class="refresh">
Pull To Refresh
</div>
<div class="container">
content
</div>
</div>
注意:这是他们用于在notepad ++中运行python的几乎相同的代码解决方案 如本主题中所述:How to Execute a Python File in Notepad ++?
答案 9 :(得分:0)
我发现这个link很有用。
但是,NppExec似乎带有自己的JRE,所以我已将脚本更改为此(意味着您需要对Java位置进行硬编码):
cd $(CURRENT_DIRECTORY)
C:\App\Java\jdk1.8.0_112\bin\java -version
C:\App\Java\jdk1.8.0_112\bin\javac $(FILE_NAME)
C:\App\Java\jdk1.8.0_112\bin\java $(NAME_PART)
答案 10 :(得分:0)
cmd /k "cd /D "$(CURRENT_DIRECTORY)" & javac "$(FILE_NAME)" & java "$(NAME_PART)""
在上面添加运行命令 成功了!