小编Gle*_*iko的帖子

在 Windows 上的两个 java 版本之间切换

目前我有一个java项目,我应该支持它的不同版本,它使用不同版本的Java(以及一些工具,如Ant)。取决于问题票证,我需要处理两个 java 版本(7 和 8),并且经常在它们之间切换。有人可以建议更容易处理的最佳方法吗?我正在 Windows 7 上工作,所以我编写了这样的用于切换的bat文件(“switch_java.bat”):

@ECHO OFF
set changeToNewVersion=%1

IF "%changeToNewVersion%"=="true" (
    setx /M ANT_HOME "c:\Program Files\Ant\apache-ant-1.9.4"
    setx /M JAVA_HOME "c:\Program Files\Java\jdk1.8.0_51"
) ELSE IF "%changeToNewVersion%"=="false" (
    setx /M ANT_HOME "c:\Program Files\Ant\apache-ant-1.8.3"
    setx /M JAVA_HOME "c:\Program Files\Java\jdk1.7.0_79"
) ELSE (
    echo ERROR: Enter key!
)
Run Code Online (Sandbox Code Playgroud)

但也许还有更优化的解决方案?

java windows version system-variable

6
推荐指数
2
解决办法
9841
查看次数

Java导入/导出依赖项

我试图找到一种方法来列出jar文件的(静态)依赖性要求,根据运行时需要的符号.

我可以看到类导出的方法可以使用"javap"列出,但似乎没有相反的工具来列出'imports'.是否有可能做到这一点?

这与Windows开发中的dumpbin实用程序类似,可用于列出DLL的导出和导入.

编辑:感谢您的回复; 我检查了所有的建议; 接受了DependencyFinder,因为它最符合我的要求.

java import export

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

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

如何从"事件"对象获取有此事件的对象?

我正在使用UIBinder在GWT上开发一个应用程序,我遇到了问题.在我的用户界面中可以有很多相同的元素(例如小部件).所有元素都必须具有捕获鼠标单击事件的处理程序.我想编写一个通用处理程序,它将能够识别导致事件并处理它的窗口小部件.现在我为每个对象都有一个小部件来描述同一个处理程序.我怎么解决这个问题?

java events gwt

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

是否可以在 Apache Spark 中创建嵌套的 RDD?

我正在尝试在 Spark 中实现 K-最近邻算法。我想知道是否可以使用嵌套的 RDD。这会让我的生活轻松很多。考虑以下代码片段。

public static void main (String[] args){
//blah blah code
JavaRDD<Double> temp1 = testData.map(
    new Function<Vector,Double>(){
        public Double call(final Vector z) throws Exception{
            JavaRDD<Double> temp2 = trainData.map(
                    new Function<Vector, Double>() {
                        public Double call(Vector vector) throws Exception {
                            return (double) vector.length();
                        }
                    }
            );
            return (double)z.length();
        }    
    }
);
}
Run Code Online (Sandbox Code Playgroud)

目前我遇到了这个嵌套设置的错误(我可以在这里发布完整的日志)。是否允许在拳头位置?谢谢

java nested apache-spark rdd

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

如何限制Redis排序集中的项目数

就我而言,我将大量记录上传到 Redis 排序集,但我只需要存储 10 个得分最高的项目。我无法影响上传的数据(在上传之前对其进行排序和限制)。

目前我只是执行

ZREMRANGEBYRANK key 0 -11
Run Code Online (Sandbox Code Playgroud)

上传完成后,但这种方法看起来不是很理想(它很慢,如果Redis可以处理它会更好)。

那么Redis是否提供了一些开箱即用的东西来限制排序集中的项目数量?

sortedset redis

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

使用Kotlin Data类替换Java DTO类的问题

我读到了Kotlin数据类,并认为它们在描述数据传输对象(DTO)的情况下非常有用.在我的Java项目中,我已经有了用Java编写的DTO类,类似于:

public class Tweet {
    private String id;
    private String profileId;
    private String message;

    public Tweet() {}

    public String getId() {
        return id;
    }

    public String getProfileId() {
        return profileId;
    }

    public String getMessage() {
        return message;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setProfileId(String profileId) {
        this.profileId = profileId;
    }

    public Tweet setMessage(String message) {
        this.message = message;
        return this;
    }
}
Run Code Online (Sandbox Code Playgroud)

这些DTO类存储在单独的工件中,我将其添加为其他工件的依赖项.所以,我决定用Kotlin类替换它,并在Kotlin上重写了提到的Tweet类,所以它开始看起来像:

data class Tweet(var id: String? = null,
                 var profileId: String? = …
Run Code Online (Sandbox Code Playgroud)

java dto kotlin

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

如何为多部署配置只执行一次 Travis CI 'before_deploy' 步骤?

在我的项目中,我配置了 Travis CI 构建过程,该过程将新版本的工件发布到 Github 版本。我的.travis.yml文件:

language: java
jdk: oraclejdk8

branches:
  only:
    - master

before_install: mvn package

before_deploy:
  - export TRAVIS_TAG="1.$TRAVIS_BUILD_NUMBER"
  - echo "$TRAVIS_TAG" "$TRAVIS_COMMIT"
  - git config --local user.name "$USER_NAME"
  - git config --local user.email "$USER_EMAIL"
  - git tag "$TRAVIS_TAG" "$TRAVIS_COMMIT"
  
deploy:
  provider: releases
  tag_name: $TRAVIS_TAG
  target_commitish: $TRAVIS_COMMIT
  name: $TRAVIS_TAG
  overwrite: true
  skip_cleanup: true
  api_key: $GITHUB_TOKEN
  file_glob: true
  file:
    - target/my-artifact-$TRAVIS_TAG.jar
  on:
    branch: master

notifications:
  email:
    on_success: never
    on_failure: always
Run Code Online (Sandbox Code Playgroud)

我想添加将工件部署到 Heroku 的能力,为此我添加了第二个项目deploy,这个:

provider: heroku …
Run Code Online (Sandbox Code Playgroud)

continuous-integration github continuous-deployment continuous-delivery travis-ci

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

CloudFormation模板:以代码形式持续测试基础架构

在项目中,我们使用一些AWS服务,例如AWS Lambda,EC2,AWS API Gateway,ElastiCache等。此外,我们还有CloudFormation模板,该模板描述了整个基础架构。随着项目的开发,我们开始使用一些新的AWS服务或更改一些已使用的服务的配置。此外,我们还应该使CloudFormation模板保持最新。

在这里,我们面临一个问题,我们需要确保我们的CloudFormation模板有效,正确,并且在需要时可以使用它来创建基础架构。在这种情况下,我们需要对模板进行连续测试。哪种方法更合适?

我们是否应该在持续集成过程中从CloudFormation模板配置自动创建堆栈,并跟踪存储库中的模板更改?还是有更好的解决方案?

continuous-integration amazon-web-services continuous-testing aws-cloudformation infrastructure-as-code

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

将现有的AWS CloudWatch警报导出到CloudFormation模板

如何将现有的,配置的和经过测试的AWS CloudWatch警报导出到Cloudformation模板?

我知道CloudFormer工具,但它支持数量有限的AWS服务(Amazon VPC,DynamoDB等),并且不支持我们使用的某些服务。我可以使用哪些工具和方法来生成Cloudformation模板?

amazon-web-services aws-cloudformation amazon-cloudwatch infrastructure-as-code

5
推荐指数
2
解决办法
215
查看次数