小编Mar*_*öll的帖子

等到布尔值改变状态

我有一个等待布尔值改变的线程,如下所示:

while(!value)
{
  Thread.sleep(1000)
}
// Do some work after change of the value
Run Code Online (Sandbox Code Playgroud)

这不是我喜欢的方法,这是造成大量CPU消耗的原因.

有没有办法阻止线程,直到布尔值改变状态?

java multithreading boolean

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

Maven:将资源包含在JAR中

我有一些可怕的beaviour.我有以下Maven配置:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <artifactId>Test2Certificate</artifactId>
    <version>0.1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <parent>
        <groupId>com.test</groupId>
        <artifactId>build</artifactId>
        <version>1.0.0</version>
    </parent>

    <properties>
        <compile.java.version>1.7</compile.java.version>
        <file.product.version>0.1.0.0</file.product.version>
        <maven.build.timestamp.format>yyyy-MM-dd HH:mm:SSS</maven.build.timestamp.format>
    </properties>

    <pluginRepositories>
        <pluginRepository>
            <id>launch4j-xml-plugin-repo</id>
            <name>launch4j-xml-plugin Repository for Maven</name>
            <url>https://launch4j-xml-plugin.googlecode.com/svn/repo</url>
        </pluginRepository>
    </pluginRepositories>

    <build>
        <finalName>${project.artifactId}_${project.version}</finalName>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.2</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <doCheck>false</doCheck>
                    <doUpdate>false</doUpdate>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${basedir}/target</outputDirectory>
                            <includeEmptyDirs>true</includeEmptyDirs>
                            <resources>
                                <resource>
                                    <targetPath>${basedir}/target/customize</targetPath>
                                    <directory>customize</directory>
                                    <filtering>false</filtering>
                                </resource>
                                <resource>
                                    <targetPath>${basedir}/target/resources</targetPath>
                                    <directory>resources</directory>
                                    <filtering>false</filtering>
                                </resource>
                                <resource>
                                    <targetPath>${basedir}/target/xml</targetPath>
                                    <directory>xml</directory>
                                    <filtering>false</filtering>
                                </resource> …
Run Code Online (Sandbox Code Playgroud)

java resources maven maven-assembly-plugin

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

如何在FXML文档中实现JavaFX的语言支持?

如何在FXML文档中使用不同的语言来支持许多国家/地区?

java xml javafx fxml

8
推荐指数
1
解决办法
9645
查看次数

无法使用maven打包Web应用程序来复制工件或文件

我在打包基于vaadin的Web应用程序时遇到问题.我的工作区中有两个项目,名为项目A和项目B.项目A引用B,通过将项目添加到类路径,正确地在工作区和degub模式下解析依赖项.

现在,如果我尝试maven包,我总是得到错误

Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project A: Failed to copy file for artifact [com.dscsag.dscxps:ProjectB:jar:0.0.1-SNAPSHOT:compile]: C:\some_path\target\classes (Access is denied) -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

java lifecycle vaadin maven

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

Cookie禁用消息,Vaadin在Tomcat 8下运行,Apache在代理下运行

我有一个基于Vaadin的Web应用程序,并将其部署到我的Tomcat 8 Web应用服务器.要访问没有端口号等的应用程序,我安装了一个Apache Web服务器并配置了VirtualHost来代理它.现在的问题是,如果我尝试单击Web应用程序中的Button等,我总会得到以下消息:

Cookies disabled
This application requires cookies to function.
Please enable cookies in your browser and click here or press ESC to try again.
Run Code Online (Sandbox Code Playgroud)

所有Cookie都已启用,我正在使用Chrome浏览器.此网页的Cookie也会被检索并且有效.

如果我使用端口规范以正常方式访问Web应用程序,我可以无错误地单击所有内容.

java apache tomcat vaadin

5
推荐指数
0
解决办法
2389
查看次数

检查日期是否重叠并返回最大计数

我有多个开始和结束的日期。这些日期可能如下所示:

d1:      |----------|
d2:            |------|
d3:        |--------------|
d4:                         |----|
d5:   |----|
Run Code Online (Sandbox Code Playgroud)

现在我需要检查重叠日期的最大计数。所以在这个例子中,我们得到最多 3 个重叠日期(d1、d2、d3)。考虑一下,可以有 0 到 n 个日期。

你能帮我完成这个任务吗?先感谢您。

更新

输入:带有开始和结束点的 Java 日期列表,例如 List,其中 MyCustomDate 包含开始和结束日期

输出:重叠日期(作为 MyCustomDate 的列表)

每个时间跨度包括一个带有小时和秒的 LocalDateTime 类型的开始和结束点。

java compare date

5
推荐指数
1
解决办法
336
查看次数

将 TimerTask 中的异常抛出到另一个方法

我想将以下异常抛出到另一种方法,但我不知道如何正确实现。

  public void startTimeoutHandler() throws TimeoutException
  {
    timer = new Timer();
    timerTask = new TimerTask()
    {
      @Override
      public void run()
      {
        throw new TimeoutException();        
      }
    };
  }
Run Code Online (Sandbox Code Playgroud)

谢谢!

java exception timer timertask

4
推荐指数
1
解决办法
4716
查看次数

如何通过 AWS Lambda 调用 IPv6 REST 服务

我有一个托管在 AWS Lambda 中的 Alexa Skill,它用于在以下示例 URL 下AsyncHttpClient调用REST 服务:IPv6

http://[2a12:5375:4151:2300:1353:a632:5f4e:c232]:4711/rest/test
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,我总是遇到以下异常:

ava.util.concurrent.ExecutionException: java.net.ConnectException: Protocol family unavailable
Run Code Online (Sandbox Code Playgroud)

如果我检查分配给底层服务器或应用程序的 IP 地址?,我会得到以下地址(也是示例):

ip-10-23-56-1.eu-west-1.compute.internal: 10.23.56.1
Run Code Online (Sandbox Code Playgroud)

所以我想,因为我使用的是 IPv6,而系统使用 IPv4,所以我无法让它工作?我可以从另一台服务器成功调用我的 REST 服务。

我还使用以下系统属性:

System.setProperty("java.net.preferIPv6Addresses", "true");
System.setProperty("java.net.preferIPv4Stack", "false");
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方案可以在 IPv4 底层系统上提供“隧道”,以通过隧道传输 IPv6 地址来调用 REST 服务?或者有更简单的解决方案吗?

java ipv6 aws-lambda alexa-skills-kit

2
推荐指数
1
解决办法
3892
查看次数

直接遍历JAR文件中的文件夹

我有以下内容code可以遍历类路径中的文件夹和文件,确定类并获取具有ID的字段并将其打印到logger。如果我在IDE中运行此代码,则可以正常工作,但是如果我将我的项目打包到一个JAR文件中,然后JAR使用launch4j 将该文件打包到EXE文件中,则无法再次遍历我的类。如果尝试遍历JAR / EXE文件中的类,则会得到以下路径:

file:/C:/ENTWICKLUNG/java/workspaces/MyProject/MyProjectTest/MyProjectSNAPSHOT.exe!/com/abc/def
Run Code Online (Sandbox Code Playgroud)

如何遍历JAR / EXE文件中的所有类呢?

public class ClassInfoAction extends AbstractAction
{
  /**
   * Revision/ID of this class from SVN/CVS.
   */
  public static String ID = "@(#) $Id ClassInfoAction.java 43506 2013-06-27 10:23:39Z $";

  private ClassLoader classLoader = ClassLoader.getSystemClassLoader();
  private ArrayList<String> classIds = new ArrayList<String>();
  private ArrayList<String> classes = new ArrayList<String>();
  private int countClasses = 0;

  @Override
  public void actionPerformed(ActionEvent e)
  {
    countClasses = 0;
    classIds = new ArrayList<String>();
    classes = …
Run Code Online (Sandbox Code Playgroud)

java reflection jar class file

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

std :: mt19937不返回随机数

我有以下代码:

unsigned int randomInt()
{
    mt19937 mt_rand(time(0));
    return mt_rand();
};
Run Code Online (Sandbox Code Playgroud)

如果我在for循环中调用此代码,例如4000次,我不会得到随机无符号整数,而是获得1000次一个值,然后接下来1000次获得下一个值.

我究竟做错了什么?

c++ random prng

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