小编Ezz*_*zze的帖子

为什么我的SwingWorker线程即使完成执行也会继续运行?

我正在为控制台应用程序实现GUI,我需要在指定的时间间隔内执行一些操作(例如,解析XML文件).我决定使用javax.swing.Timer和SwingWorker来确保这些操作不会使我的应用程序无响应.

我用这种方式实现了计时器:

public class DataUpdateTimer extends Timer {

    private String dataFlowControllerXML = null;
    private DataUpdateWorker dataUpdateWorker = null;

    public class DataUpdateWorker extends SwingWorker {

        private String dataFlowControllerXML = null;

        DataUpdateWorker(String dataFlowControllerXML) {
            super();
            this.dataFlowControllerXML = dataFlowControllerXML;
        }

        @Override
        protected Boolean doInBackground() throws Exception {

            Thread.sleep(300);
            return Boolean.TRUE;
        }

    }

    public class DataUpdateIntervalListener implements ActionListener {

        public void actionPerformed(ActionEvent e) {
            DataUpdateTimer timer = (DataUpdateTimer)e.getSource();
            DataUpdateWorker dataUpdateWorker = timer.getDataUpdateWorker();

            if (dataUpdateWorker != null)
                if (dataUpdateWorker.isDone()) {
                    Boolean updateResult = Boolean.FALSE;
                    try …
Run Code Online (Sandbox Code Playgroud)

java swingworker

11
推荐指数
1
解决办法
4708
查看次数

Elasticsearch - 用撇号搜索单词

我希望能够搜索以下单词

文森特文森特文森特

目前,数据库和ES的测试是Vincent的

是否有可能检测到所有格并忽略撇号.我看过Word-Delimiter,但似乎找不到合适的解释

elasticsearch

8
推荐指数
3
解决办法
5292
查看次数

如何使用Netbeans调试使用Ant的自定义build.xml编译的代码?

我有自己的build.xml文件,包含几个目标,用于编译和运行我的Java项目.以下是这一部分的相关部分:

<path id="libpath">
    <fileset dir="${lib.dir}" includes="**/*.jar" />
</path>

<patternset id="resources">
    <include name="relative/path/to/resources/" />
</patternset>

<path id="resourcespath">
    <fileset dir="${src.dir}">
        <patternset refid="resources" />
    </fileset>
</path>

<target name="compile">
    <mkdir dir="${build.dir}" />
    <mkdir dir="${classes.dir}" />
    <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="libpath" includeantruntime="false" debug="true" debuglevel="lines,vars,source" />
    <copy todir="${classes.dir}">
        <path refid="resourcespath" />
    </copy>
</target>

<target name="debug" depends="compile">
    <java fork="true" classname="${main-class}">
        <sysproperty key="java.library.path" path="${dist.dir}"/>
        <classpath>
            <pathelement location="${classes.dir}" />
            <path refid="libpath" />
        </classpath>
    </java>
</target>
Run Code Online (Sandbox Code Playgroud)

我想要做的就是${classes.dir}通过运行debug目标来调试使用Netbeans 的编译代码build.xml.目前,此目标启动已编译的应用程序,但没有机会在断点处停止.我知道Netbeans会生成默认build-impl.xml文件但是这个文件太大而且很难理解.这就是为什么我想知道是否可以使用Netbeans IDE来调试Ant使用我自己的build.xml文件编译的Java代码. …

java ant debugging netbeans

6
推荐指数
1
解决办法
4707
查看次数

Bump 版本并从一个分支发布包,但在另一个分支中保留标签

我正在将包含许多相互依赖的包的项目迁移到带有Lerna 的monorepo 。我们在开发过程中遵循类似Gitflow 的工作流程。主要概念是在develop分支中进行所有源代码更改以及从develop. 只要包的新版本准备好,我们就可以通过npm publish或发布它yarn publish,然后将其合并到master分支并通过以下方式手动标记它:

$ git checkout develop
Run Code Online (Sandbox Code Playgroud)

对源代码进行一些更改,包括版本碰撞...

$ git add -A
$ git commit -m "Make some changes and version bump."
$ git checkout master
$ git merge --no-ff develop -m "Version 0.14.1."
$ git tag -a 0.14.1 -m "Version 0.14.1."
Run Code Online (Sandbox Code Playgroud)

现在我想用 Lerna 管理所有包来实现同样的事情。查看文档,我指出发布命令依赖于version命令,而version命令又在幕后使用更改的命令来检测自最新版本以来包中所做的更改:

列出自上次标记发布以来已更改的本地包

考虑develop在一个包中的分支中进行了一些更改(例如,@geoapps/layout

$ lerna changed …
Run Code Online (Sandbox Code Playgroud)

npm lerna

6
推荐指数
1
解决办法
3507
查看次数

标签 统计

java ×2

ant ×1

debugging ×1

elasticsearch ×1

lerna ×1

netbeans ×1

npm ×1

swingworker ×1