Netbeans 8.0.2清理并构建然后运行旧代码运行结果

时间:2015-09-16 08:23:21

标签: java netbeans

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

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

如果我在NetBeans和Clean and Build中进行代码更改(例如按Shift + F11),则从NetBeans运行(例如通过F6),更改反映。没有错误,我只在输出中收到BUILD SUCCESSFUL通知。但是应用程序的旧版本将运行而不会反映出任何变化。

我通过从CLI构建来解决这个问题,但是现在变得非常快,能够在IDE中从w /运行会很好。

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

文件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。同样,如果用户选择Run,则在NetBeans运行应用程序之前,将自动保存和编译所有未保存的文件。我的问题是我习惯于清理和构建不同的含义,所以每当我想在IDE中运行应用程序时,我就运行了Clean和Build。在NetBeans中选择Clean and Build甚至Build选项之后,我还没有找到一种强制重新编译以便在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>

3 个答案:

答案 0 :(得分:2)

你不应该做任何特别的事情来获得最新的运行。无论是否使用Build或Clean and Build运行都将运行最新版本。我以前遇到过这种症状,并且总是发现有源和/或项目文件的多个副本。 Netbeans正在使用一个运行,我正在错误的目录中编辑一个副本,期望它有效。

试试这个:

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

答案 1 :(得分:0)

Shift + f11

工作正常。

非常欢迎你/ n

答案 2 :(得分:0)

在基于Maven的项目中,许多缓存输出都在您的“目标”文件夹中。

如果清除不起作用,只需删除目标文件夹并运行该项目。