小编Fin*_*005的帖子

maven发布 - > peer未通过身份验证

我正在尝试释放我的软件(我之前从未这样做过),到目前为止我已经能够执行mvn release:prepare.当我正在执行release:执行时出现以下错误:

[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plug
in:2.7:deploy (default-deploy) on project img2stl: Failed to deploy artifacts: C
ould not transfer artifact nl.byterendition:img2stl:jar:0.9 from/to byterenditio
n-releases (https://localhost:443/svn/repo/releases): peer not authenticated ->
[Help 1]

我在localhost:443设置了一个本地密码保护的svn存储库,所以我将以下内容添加到我的.m2文件夹中的settings.xml

编辑包括Edwin Buck的回答:

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

    <servers>
        <server>
            <id>byterendition-releases</id>
            <username>username</username>
            <password>password</password>
        </server>
        <server>
            <id>byterendition-snapshots</id>
            <username>username</username>
            <password>password</password>
        </server>
    </servers>
</settings>
Run Code Online (Sandbox Code Playgroud)

这是我的pom的有用部分:

<distributionManagement>
    <repository>
        <id>byterendition-releases</id>
        <url>https://localhost:443/svn/repo/releases</url>
    </repository>
    <snapshotRepository>
        <id>byterendition-snapshots</id>
        <url>https://localhost:443/svn/repo/snapshots</url>
    </snapshotRepository>
</distributionManagement>
Run Code Online (Sandbox Code Playgroud)

如何让maven访问svn存储库?

好吧,正如Edwin Buck建议我不应该使用localhost,但由于我无法让它工作,否则我想我会尝试使用我用于工作的远程SVN服务器.现在我得到一个不同的错误:

[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plug
in:2.7:deploy …

java svn https release maven

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

使用Lombok的显式构造函数?

我正在重写一些管理数据库的混乱代码,并看到原始程序员创建了一个映射到数据库的类,如下所示:

(我删除了在这个问题上没有用处的不必要的代码)

@Entity
@Data
@EqualsAndHashCode(callSuper = false, of = { "accessionCode", "header", "date" })
@SuppressWarnings("PMD.UnusedPrivateField")
public class PDBEntry implements Serializable {
    @Id
    @NaturalId
    @NotEmpty
    @Length(max = 4)
    private String accessionCode;

    @NaturalId
    @NotEmpty
    private Date date;

    @NaturalId
    // We allow for the header to be 'null'
    private String header;

    private Boolean isValidDssp;

    @Temporal(TemporalType.TIMESTAMP)
    private Date lastUpdated = new Date(System.currentTimeMillis());

    protected PDBEntry(){}

    public PDBEntry(String accessionCode, String header, Date date){
        this.accessionCode = accessionCode;
        this.header = header;
        this.date = date;
    }
}
Run Code Online (Sandbox Code Playgroud)

我仍然是Hibernate的初学者并使用Lombok,但是这不会做同样的事情并且Lombok不会自动为你创建所需的构造函数吗?

@Entity …
Run Code Online (Sandbox Code Playgroud)

java hibernate lombok

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

hibernate是否保留LinkedHashSet的顺序,如果是,如何?

hibernate是否保留LinkedHashSet的顺序,如果是,如何?如果这取决于数据库的类型,我想知道PostgreSQL的这个.

背景:

我知道LinkedHashSet的用途是什么,我问这个的原因是因为我将我执行的一些函数的名称记录到'logError'表中,该表与某些'functionName'表有多对多的关系.我需要这些函数保持与执行它们时的顺序相同,所以首先我找到相应的'functionName'对象,将它们放在LinkedHashSet中(在每个失败的函数之后),然后我坚持'logError'对象.

现在当我再次从数据库中获取'logError'对象时,它仍然会被订购吗?如果是这样,我很好奇Hibernate如何做到这一点.

java hibernate linkedhashset insertion

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

如何在另一个模态JDialog之上创建模态JDialog

我有一个模态设置对话框,这是一个JDialog.在这个设置窗口中,我将一些组件(包括按钮)放到另一个模态设置对话框中,该对话框也是JDialog.我把它们变成了JDialogs,因为这是我所知道的唯一一种模态对话框.

问题是这样的:当我创建主设置对话框时,我必须构建JDialog,或者没有父框架或父框架.由于我的主窗口是JFrame,我可以将其传递给主设置对话框构造函数.但是当我想创建第二个模态设置对话框时,它应该将主设置对话框作为父对象,我找不到获取JDialog的(J)框架的方法.我确实希望将该主要设置对话框作为父对象传递,以便第二个设置对话框在显示时以中心为中心.让我们假设第二个设置对话框没有用于传递位置的构造函数,只是JDialog的构造函数.

有没有办法获得JDialog的(J)框架?我的设置中是否存在设计缺陷,我是否应该使用其他设置对话框?(如果是这样,我应该如何设置这些替代设置对话框?)

谢谢你的帮助,Erik

更新:谢谢大家的答案.他们让我明白,显然并不是绝对有必要拥有JDialog的所有者.我认为对话框需要能够禁用所有者,直到对话框关闭,但显然模态独立于所有者.我还注意到即使对于所有者,对话框仍然不以所有者为中心,所以现在我的代码如下:

public class CustomDialog extends JDialog {
    public CustomDialog(String title) {
        setModal(true);
        setResizable(false);
        setTitle(title);

        buildGUI();
    }

    public Result showDialog(Window parent) {
        setLocationRelativeTo(parent);
        setVisible(true);
        return getResult();
    }
}
Run Code Online (Sandbox Code Playgroud)

这也允许模态对话框中的模态对话框.

感谢你的帮助!

java user-interface swing modal-dialog jdialog

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

@Async阻止线程继续,直到其他线程完成

我有一个应用程序,其中需要计算一定数量的东西.此计算函数具有注释@Async(来自Spring Framework),这使得可以在4个线程上运行这些计算.问题是我需要大约40000个这些计算,我想知道所有计算的开始和结束之间的时间,所以我看到调用计算函数的for循环之前和之后的时间.但是现在所有的计算都被放入队列中,因此for循环立即结束,时间就像1秒钟,而计算完成需要几个小时.我已经尝试将最大队列大小设置为大约100(也很好地减少了内存使用量),但这也没有解决方案,因为我将错过它花费的总时间中的最后100次计算.

这是一些说明同样问题的代码:

执行课程:

public class Foo {
    public void executeBlaALotOfTimes() {
        long before = System.currentTimeMillis();

        for (int i = 0; i<40000; i++) {
            executeBla();
        }

        long after = System.currentTimeMillis(); 

        System.out.println("Time it took for a lot of bla to execute: " + (after - before) / 1000.0 + " seconds.");
    }
}
Run Code Online (Sandbox Code Playgroud)

以及执行计算的类:

@Service
public class Bar {
    @Async
    public void executeBla() {
        System.out.println("Bla!");
    }
}
Run Code Online (Sandbox Code Playgroud)

这将导致以下输出(假设Foo中的代码执行速度非常快):

Time it took for a lot of bla to execute: 0.0 seconds.
Bla! …

java queue spring multithreading asynchronous

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

AbstractAction as WindowListener

我试图通过使用Action对象在我的GUI应用程序中将函数与state分开.我成功地使用它们来创建具有相同功能的菜单项和按钮.

我的问题是:我希望菜单中的"退出"项和框架的关闭按钮具有相同的操作.

目前我已经能够通过向框架添加以下WindowListener来解决它:

private class MainWindowListener extends WindowAdapter {
    @Override
    public void windowClosing(WindowEvent e) {
        new ExitAction(model).actionPerformed(new ActionEvent(e.getSource(), e.getID(), "Exit"));
    }
}
Run Code Online (Sandbox Code Playgroud)

是不是有更简单直接的方法来做到这一点?

java user-interface swing action windowlistener

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

GUI以30 fps运行?

在测试使用Swingworker的一些实时仿真代码时,我注意到我的GUI似乎总是以30 fps运行,不多也不少.每次用户与应用程序交互时(如鼠标移动)或调用Swingworker的process()方法时,我都会更新GUI.Swingworker现在没有做任何事情,它只是从GUI抓取鼠标位置并通过publish()和process()方法将其作为克隆发回(我只是这样做,看看我能做什么和能做什么在线程之间进行通信时要做,因为多线程对我来说仍然是一个新手.我在任何地方都没有定时器,Swingworker的process()方法在GUI上调用repaint(),所以我想知道是什么原因导致GUI以30 fps更新?是否可能默认情况下GUI中的vsync处于活动状态,或者它是Swingworker中process()方法的某些行为?最后:有没有办法获得更高的帧速率?

这是一个表现出这种行为的sscce:

public class SimGameTest implements Runnable {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new SimGameTest());
    }

    @Override
    public void run() {
        MainWindow mainWindow = new MainWindow(new Game());

        mainWindow.setLocationRelativeTo(null);
        mainWindow.setVisible(true);
    }
}

public class MainWindow extends JFrame {
    private Game        game;
    private GamePanel   gamePanel;

    public MainWindow(Game game) {
        this.game = game;

        createAndShowGUI();

        startGame();
    }

    private void startGame() {
        GameSim gameSim = new GameSim(game, gamePanel);
        gameSim.execute();
    }

    private void createAndShowGUI() {
        setTitle("Sim game test");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);

        JPanel contentPane = …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing frame-rate swingworker

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

每个模块的Log4j属性

我正在编写一个由几个maven模块组成的应用程序.所有这些都必须将内容记录到他们自己的日志文件中.我在每个模块的main/resources文件夹中创建了一个log4j.properties文件.现在,当我从其中一个模块启动应用程序时,它会将所有内容写入该模块的日志文件中.我想知道这是否只是因为它可能从该启动模块获取了root-dir并使用它来保存日志文件,但是当我为该启动模块创建一个appender(使用log4j属性中的类别)时没有rootLogger它给我一个关于其他模块中无法找到其appender的类的错误,这表明找不到或读取了每个模块中的log4j.properties文件.任何想法如何解决这个问题并使这些模块使用这些属性文件,

我希望这个问题清楚明白,否则请随时询问细节.

java log4j properties maven

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

如何持久化具有枚举字段的对象

我在我的域模型中使用枚举,但是当我尝试将对象持久化到数据库时,我收到以下错误:

Exception in thread "main" java.lang.ClassCastException: nl.ru.cmbi.pdbeter.core.model.enums.Enum_WhifFunction cannot be cast to java.lang.String
    at org.hibernate.validator.NotEmptyValidator.isValid(NotEmptyValidator.java:36)
    at org.hibernate.validator.ClassValidator.getInvalidValues(ClassValidator.java:386)
    at org.hibernate.validator.ClassValidator.getInvalidValues(ClassValidator.java:352)
    at org.hibernate.validator.event.ValidateEventListener.validate(ValidateEventListener.java:139)
    at org.hibernate.validator.event.ValidateEventListener.onPreInsert(ValidateEventListener.java:172)
    at org.hibernate.action.EntityIdentityInsertAction.preInsert(EntityIdentityInsertAction.java:142)
    at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:65)
    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
    at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321)
    at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
    at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:535)
    at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:527)
    at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:523)
    at nl.ru.cmbi.pdbeter.core.controller.DAO.GenericDAO.makePersistent(GenericDAO.java:73)
    at nl.ru.cmbi.pdbeter.core.controller.DAO.WhifFunctionDAO.getWhifFunctionSet(WhifFunctionDAO.java:36)
    at nl.ru.cmbi.pdbeter.core.controller.DAO.LoggedErrorWhifDAO.updateWhifFunctionSet(LoggedErrorWhifDAO.java:42)
    at nl.ru.cmbi.pdbeter.whifclient.controller.WhifFunctionsUpdater.executeWhifFunctionsByAccessionCode(WhifFunctionsUpdater.java:93)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy31.executeWhifFunctionsByAccessionCode(Unknown Source) …

java persistence hibernate enumeration

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

运行时的Hibernate数据库密码

有没有办法在运行时请求数据库密码而不是将其(加密或不加密)放在hibernate.cfg.xml文件中?

java passwords hibernate runtime

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