小编Rol*_*der的帖子

有没有办法为*any*enum声明一个注释属性?

目前我正在为Java Swing开发一个基于注释的绑定框架,它使用JGoodies Binding.不幸的是,我坚持使用JRadioButton绑定的注释.我想要做的是指定一个包含特殊值(枚举)的模型的属性名称.如果此属性具有特定值,则应选择单选按钮.现在我想在注释中指定值,如下所示:

@RadioButtonBinding(property = "selectedItem", selectedValue = MyEnum.FIRST)
JRadioButton firstButton

@RadioButtonBinding(property = "selectedItem", selectedValue = MyEnum.SECOND)
JRadioButton secondButton
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何声明注释以允许上面和任何其他枚举.我的第一个猜测就是这个,但我了解到注释属性不能是通用的:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface RadioButtonBinding {

    /** The model-property to which the selected value is bound */
    String property();

    // Idea 1: Specifying the enum class and the enum constant as String - works but is not typesafe

    Class<? extends Enum<?>> enumClass();

    String enumConstantName();

    // Idea 2: Directly specifying the enum constant - gives a …
Run Code Online (Sandbox Code Playgroud)

java enums annotations

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

如何在NetBeans GUI Designer Preview中更改外观?

使用NetBeans GUI Builder时,"预览设计"功能会显示具有系统外观的面板(例如Windows).现在我想用不同的LaF预览我的面板,以获得正确的所有间隙和空间.有没有办法告诉gui建设者用不同的LaF显示面板?

java swing netbeans gui-builder

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

如何通过GSS-API获取kerberos服务票?

有谁知道如何使用Java GSS-API从密钥分发中心(KDC)获取服务票证?

我有一个胖客户端应用程序,首先通过JAAS使用Krb5LoginModule从票证缓存中获取TGT进行身份验证(后台:Windows例如使用kerberos实现并将票证授予票证存储在安全的内存区域).从LoginManager我得到包含TGT的Subject对象.现在我希望当我为我的服务创建一个特定的GSSCredential对象时,服务票证也将被放入Subject的私人凭证中(我已经在网上的某处读过).所以我尝试了以下方法:

// Exception handling ommitted
LoginContext lc = new LoginContext("HelloEjbClient", new DialogCallbackHandler());
lc.login()
Subject.doAs(lc.getSubject(), new PrivilegedAction() {

    public Object run() {
        GSSManager manager = GSSManager.getInstance();
        GSSName clientName = manager.createName("clientUser", GSSName.NT_USER_NAME);
        GSSCredential clientCreds = manager.createCredential(clientName, 8 * 3600, createKerberosOid(), GSSCredential.INITIATE_ONLY);

        GSSName serverName = manager.createName("myService@localhost", GSSName.NT_HOSTBASED_SERVICE);
        manager.createCredential(serverName, GSSCredential.INDEFINITE_LIFETIME, createKerberosOid(), GSSCredential.INITIATE_ONLY);
        return null;
    }

    private Oid createKerberosOid() {
        return new Oid("1.2.840.113554.1.2.2");
    }

});
Run Code Online (Sandbox Code Playgroud)

不幸的是我收到了GSSException:没有提供有效的凭据(机制级别:找不到任何Kerberos tgt).

java kerberos single-sign-on

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

什么是代码kata,它有什么用?

在过去的几周里,我听说过一种名为"code-kata"的现象.当我做对了,这意味着一次又一次地编码练习.它有什么意义?它是否会提高您设计更好软件的能力?如果是,为什么会这样做?

language-agnostic

14
推荐指数
2
解决办法
1578
查看次数

如何为Java套接字指定端口范围?

在Java中,您可以将数字0作为Socket或DatagramSocket构造函数的单个参数.Java将Socket绑定到一个空闲端口.是否可以将端口查找限制在特定范围内?

java sockets udp tcp

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

为什么mvn发布:标记时准备失败?

使用我的多项目pom,我在运行release:prepare时遇到错误.在运行良好之前,项目设置和每个发布步骤都没什么特别的.我得到的错误是:

    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Unable to tag SCM
    Provider message:
    The svn tag command failed.
    Command output:
    svn: Commit failed (details follow):
    svn: File '/repos/june/tags/foo-1.0.2/foo.bar.org/pom.xml' already exists

知道它来自哪里以及如何绕过它?

(对不起重复的帖子 - 第一次被关闭,因为我没有将其表述为可以回答的问题.我希望现在好了.)

编辑
maven发布插件负责版本处理本身.因此,当我检查subversion存储库中的路径时,该路径尚不存在.

编辑2
@Ben:我不知道服务器版本,但客户端也是1.5.2.

svn maven-2 release maven-scm

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

如何从Grails 2.0中的war文件中排除资源?

我在Grails 2应用程序中有一些测试数据和一些特殊内容(图像,视频等),在构建战争时不应该包含这些内容.在开发时,这些文件存储在web-app/content/.所以问题是,在为生产环境构建战争时如何排除它们?

在我的搜索过程中,我发现了这篇博客文章,其中涉及早期Grails版本中的主题.不幸的是它似乎不再起作用,评论也没有帮助我.

这就是我现在尝试过的:

grails.war.resources = { stagingDir ->
    delete { fileset(dir: "${stagingDir}/content/", includes: '*') }
}
Run Code Online (Sandbox Code Playgroud)

也许我只是错过了一些东西?或者是否有更好的方法将测试数据与运送应用程序分开?

grails resources build

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

JFormattedTextField格式化百分比数字?

我想使用JFormattedTextField将浮点数格式化为百分比值,允许输入从0到100%(转换为0.0f-1.0f),始终显示百分号并禁止任何无效字符.

现在我用NumberFormat.getPercentInstance()和NumberFormatter属性进行了一些实验,但没有成功.

有没有办法创建一个遵循标准类遵守这些规则的JFormattedTextField?或者我必须实现自己的NumberFormatter?

这就是我到目前为止(无法输入100%,输入0完全打破它):

public class MaskFormatterTest {
    public static void main(String[] args) throws Exception {
        JFrame frame = new JFrame("Test");
        frame.setLayout(new BorderLayout());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        NumberFormat format = NumberFormat.getPercentInstance();
        NumberFormatter formatter = new NumberFormatter(format);
        formatter.setMaximum(1.0f);
        formatter.setMinimum(0.0f);
        formatter.setAllowsInvalid(false);
        formatter.setOverwriteMode(true);
        JFormattedTextField tf = new JFormattedTextField(formatter);
        tf.setColumns(20);
        tf.setValue(0.56f);

        frame.add(tf);
        frame.pack();
        frame.setVisible(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

java swing number-formatting jformattedtextfield

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

用于Liquibase的Groovy DSL中的自定义SQL?

是否可以在Groovy DSL for Liquibase中直接指定自定义SQL脚本?我知道,有一个XML格式的标签,但我还没有找到任何有关如何在Groovy DSL中使用它的信息.

sql groovy liquibase

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

如何在JBoss 7中设置EJB方法的默认角色?

我有一个带有多个EJB JAR的EAR,它们应该通过一个非常简单的身份验证机制来保护:只要他/她经过身份验证,每个用户都可以访问每个EJB方法.所以我通过将文件添加security-domain到EAR中来保护EAR文件jboss-app.xml:

<jboss-app>
  <security-domain>my-security-domain</security-domain>
</jboss-app>
Run Code Online (Sandbox Code Playgroud)

用户使用JBoss默认users.properties文件进行身份验证.在JBoss 4.2.3中,这很好用.现在在JBoss 7中我得到一个授权例外:

16:45:32,791 ERROR [org.jboss.as.ejb3.invocation] (EJB default - 2) JBAS014134: EJB Invocation failed on component MyServiceBean for method public abstract java.util.List mypackage.MyService.findAllFoo(): javax.ejb.EJBAccessException: JBAS014502: Invocation on method: public abstract java.util.List mypackage.MyService.findAllFoo() of bean: MyServiceBean is not allowed
Run Code Online (Sandbox Code Playgroud)

设置记录类别后,org.jboss.securityTRACE我发现,那JBoss的7显然需要一个默认<NOBODY>每个EJB方法的角色,当另有规定没有明确的作用.从日志:

16:45:32,791 TRACE [org.jboss.security.audit] (EJB default - 2) [Failure]Source=org.jboss.security.plugins.javaee.EJBAuthorizationHelper;Action=authorization;Exception:=PBOX000017: Acces denied: authorization failed ;Resource:=[org.jboss.security.authorization.resources.EJBResource:contextMap={policyRegistration=null}:method=public abstract java.util.List mypackage.MyService.findAllFoo():ejbMethodInterface=Remote:ejbName=MyServiceBean:ejbPrincipal=rschneider:MethodRoles=Roles(<NOBODY>,):securityRoleReferences=null:callerSubject=Betreff:
    Principal: org.jboss.remoting3.security.UserPrincipal@ce844325
    Principal: Roles(members:user)
    Principal: CallerPrincipal(members:org.jboss.remoting3.security.UserPrincipal@ce844325)
:callerRunAs=null:callerRunAs=null:ejbRestrictionEnforcement=false:ejbVersion=2.0];policyRegistration=null;
Run Code Online (Sandbox Code Playgroud)

然后我尝试将角色映射配置到JBoss中,以便每个用户都映射到此 …

java authentication authorization jboss7.x

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