gpt4 book ai didi

java - Netbeans 8.0.2 Clean and Build then Run 会导致运行旧代码

转载 作者:行者123 更新时间:2023-12-02 04:22:26 25 4
gpt4 key购买 nike

我是 NetBeans 和 Java 新手。我正在使用 NetBeans 为学校构建和运行 Java Swing 项目。

我在 NetBeans 中编写了代码并保存了它。使用 javac 从命令行编译成功,程序按预期运行。如果我更新代码并从 CLI 重复该过程,新的更改将按预期反射(reflect)出来。

如果我在 NetBeans 中进行代码更改,并清理并构建(例如按 Shift+F11),然后在 NetBeans 中运行(例如按 F6),则这些更改不会反射(reflect)了。没有错误,我只是在输出中收到 BUILD SUCCESSFUL 通知。但旧版本的应用程序将运行时不会反射(reflect)任何更改。

我通过从 CLI 构建来解决这个问题,但是它很快就过时了,如果能够在 IDE 中运行那就太好了。

以下是一些上下文代码。它按需要运行。作为我的问题的一个示例,请注意文件 2 中的按钮初始化。如果我更改 ctor 字符串 arg,则当我在 NetBeans 中清理、构建和运行时,该更改将不会反射(reflect)出来(或者如果我只是在没有清理的情况下构建和运行) )。但是,如果从命令行运行,则会反射(reflect)出来。

文件1:

/* pkg & import statements */

public class Project1Part1 {

public static void main(String[] args) {
System.out.println("Attempting to build frame...");
buildFrame();
}

public static void buildFrame()
{
JFrame frame = new JFrame("Project 1, Part 1");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GuiPanel guiPanel = new GuiPanel();
frame.setContentPane(guiPanel);
frame.setSize(640, 360);
frame.setVisible(true);
System.out.println("Frame built.");
}
}

文件2:

/* pkg and import statements */

public class GuiPanel extends JPanel {

public GuiPanel()
{
LayoutManager layoutMgr = new FlowLayout();
setLayout(layoutMgr);

Dimension buttonSize = new Dimension(150, 20);
JButton cardPickerButton = new JButton("Card Picker");
cardPickerButton.setPreferredSize(buttonSize);
add(cardPickerButton);
}
}

更新:根据我看到的其他帖子,我将 Ant 版本从 1.9.4 升级到了 1.9.6,这是一次摸索,没有什么区别。

更新 2:我仅使用 BuildClean and Build 选项,这些选项不适用于编译要在 IDE 中运行的应用程序。保存文件时,NetBeans 默认情况下会自动编译项目,如下所示: the NetBeans documentation 。同样,如果用户选择运行,所有未保存的文件将在 NetBeans 运行应用程序之前自动保存和编译。我的问题是,我习惯了 Clean and Build 的含义不同,所以每次我想在 IDE 中运行应用程序时,我都会运行 Clean and Build。在 NetBeans 中选择“清理并构建”甚至“构建”选项后,除了进行一些细微的更改之外,我还没有找到强制重新编译以在 IDE 中执行的方法允许重新保存项目中的某些文件。

更新3:根据请求添加我的项目的 build.xml。为了便于阅读,我删除了注释部分。

<?xml version="1.0" encoding="UTF-8"?>
<project name="Project1Part1" default="default" basedir=".">
<description>Builds, tests, and runs the project Project1Part1.</description>
<import file="nbproject/build-impl.xml"/>
</project>

最佳答案

您不必执行任何特殊操作即可运行最新版本。无论是否运行“构建”或“清理”,构建都将运行最新版本。我以前也有过这种症状,而且总是发现源文件和/或项目文件有多个副本。 Netbeans 正在使用一个来运行,而我正在错误的目录中编辑一份副本,希望它能发挥作用。

试试这个:

  1. 从"file"菜单中选择“关闭所有项目”
  2. 从“窗口”菜单中选择“关闭所有文档”
  3. 使用"file"->“打开项目”再次打开项目,请注意记下目录。
  4. 双击“项目”选项卡中源包下的 java 文件之一,打开源文件。
  5. 进行更改,构建然后运行。
  6. 如果您仍然遇到问题,则可能是您的 Netbeans 安装有问题。考虑关闭 Netbeans,删除用户配置和缓存目录。 ( http://wiki.netbeans.org/FaqWhatIsUserdir ),并重新安装 Netbeans。

关于java - Netbeans 8.0.2 Clean and Build then Run 会导致运行旧代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32603274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com