小编And*_*wan的帖子

Java中的制表符

试图将制表符添加到JMenuItem使用中\t但不打印.

我打赌这是一个非常基本的东西,我很想念.这是代码

menuItem = new JMenuItem("New\tCtrl + N");
Run Code Online (Sandbox Code Playgroud)

谢谢

java swing menu

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

使用Flash进行基本认证

太不可思议了!Flash程序员熟悉这个例子:

var req:URLRequest = new URLRequest("http://yoursite.com/yourservice.ext");
req.method = URLRequestMethod.POST;
req.data = new URLVariables("name=John+Doe");

var encoder:Base64Encoder = new Base64Encoder();        
encoder.encode("yourusername:yourpassword");

var credsHeader:URLRequestHeader = new URLRequestHeader("Authorization", "Basic " + encoder.toString());
req.requestHeaders.push(credsHeader);

var loader:URLLoader = new URLLoader();
loader.load(req);
Run Code Online (Sandbox Code Playgroud)

好的......太棒了...真的很有效.如您所见,我手动添加标头授权进行基本HTTP身份验证.但是......如果我将请求metod从POST更改为GET,则不会生成标头.

有没有人知道解决方案?1000x thx!

authentication flash rest http

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

为J2SE应用程序添加插件支持的最佳技术?

我正在编写一个J2SE桌面应用程序,需要其中一个组件可插拔.我已经为这个插件定义了Java接口.用户应该能够在运行时(通过GUI)选择他们想要使用的这个接口的实现(例如在初始化对话框中).我设想将每个插件打包为一个JAR文件,其中包含实现类以及它可能需要的任何帮助程序类.

在桌面Java应用程序中执行此类操作的最佳技术是什么?

java plugins plugin-architecture

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

维护版本与正常版本的政策?

我的公司正在努力解决维护版本与"正常"版本的问题,在支付支持的大型组织现场安装的应用程序环境中.首先让我来定义我的术语:

  • 想象一下,我们已经发布了该产品的1.0,1.1和1.2版本.这些是我称之为" 正常 "的版本,即它们是开发主要分支的下一个版本,包含所有最新和最好的错误修复和增强功能(每个版本可能有几十个).
  • 现在想象一下1.0上的一些重要客户报告了一个没有人遇到过的停止问题.这个问题在1.2中仍然存在,遗憾的是1.3几周或几个月都没有问题.因此,我们将代码分支为1.0以创建1.0.1" 维护 "版本,其中只包含一个修复问题的更改.

这种方法让客户感到高兴,因为我们在一天左右的时间内解决问题,而不是让他们等待几个星期,直到下一次正常发布.此外,由于维护版本只包含一个小的更改,它们不需要经过广泛的UAT过程,而如果它们升级到下一个正常版本(可能是几个版本),它们将接收可能30或40产品变化(在他们的风险规避观点中)需要广泛的UAT.

问题是:

  • 我们创建和支持多个版本的软件成本很高
  • 它允许坚持到底的客户远远落后于最新版本
  • 它使将来最终升级这些客户的过程变得复杂,因为它们的安装与其他1.0客户略有不同(如果维护版本以某种方式改变它,升级他们的数据库会特别复杂)

所以我想知道其他人在这个问题上的立场是什么?如何通过大量维护版本为自己的背部制造杆而让客户满意?例如,您是否允许某些类别的修复作为维护版本完成,但是坚持在下一个正常版本中完成其他类型的修复?

澄清:编写无错误的软件并不是一个完整的解决方案,因为上述环境中的"问题"可能是我们产品所依赖的外部系统行为的不可预见的变化.

version-control policy maintenance release-management

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

为什么我的OpenID应用程序从同一用户的不同客户端计算机接收不同的Google OpenID?

我正在使用Spring Security 2.0.5将OpenID登录添加到一个小型Web应用程序中.我希望能够根据他们登录的OpenID标识符识别我的应用程序中的用户.这在使用Verisign作为提供者时工作正常; 每个标识符都是一个特定于用户的URI,如http://jbloggs.pip.verisignlabs.com/,可以在我的用户数据库中轻松查找"Joe Bloggs".

但是,当用户输入标准Google OpenID标识符(www.google.com/accounts/o8/id)时,Google会在成功进行身份验证后发送标识符(例如https://www.google.com/accounts/o8/id ?id = AItOawnKrvwaGk9YU0q9STQGj9G7XIRlNmsjuiI)因机器而异,因同一用户而异.这使得通过在我的用户数据库中查找其标识符来识别该用户是不可能的(或至少是不切实际的).

如何让Google始终为同一个Google用户发送相同的标识符?

FWIW,该应用程序在JBoss 3.2.7中运行,带有嵌入式Tomcat 5.0.28.

openid authentication spring-security

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

如何在Oracle SQL中对结果进行不区分大小写的排序?

从Java中不区分大小写地查询SQL数据库的经典方法如下:

String name = ...;  // get the user's input (case is unknown)
String sql = "select * from Person where lower(name) = ?";
Object jdbcBindVariable = name.toLowerCase();
// ... using JDBC, bind that variable and run the SQL query
Run Code Online (Sandbox Code Playgroud)

问题是较低的外壳是特定于语言环境的操作.例如,下限字母" I"会产生不同的英语和土耳其语结果.在上面的代码中,有两个下层操作:

  • String#toLowerCase()方法
  • lower()数据库函数

如何确保Java和数据库使用相同的语言环境,从而执行有效的比较?

我知道String类有一个toLowerCase(Locale)方法,但我怎么知道数据库使用的Locale?我可以以编程方式检查这个,还是必须将语言环境硬编码到我认为数据库(在本例中为Oracle 10g)配置的语言环境?

sql database oracle locale case-insensitive

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

如何阻止Maven的验证阶段重建工件?

想象一下使用Maven构建的Java项目,我有:

  • 一些快速运行的单元测试:
    • 开发人员应该在提交之前运行
    • 我的CI服务器(Hudson,FWIW)应该在检测到新提交时运行,在出现故障时提供几乎即时的反馈
  • 一些慢速运行的自动验收测试:
    • 开发人员可以选择运行,例如重现和修复故障
    • 我的CI服务器应该在成功运行单元测试后运行

这似乎是一个典型的场景.目前,我正在运行:

  • 该单元在"测试"阶段进行测试
  • "验证"阶段的验收测试

配置了两个CI作业,两者都指向项目的VCS分支:

  1. "Commit Stage",运行"mvn package"(编译和单元测试代码,构建工件),如果成功,则触发:
  2. "自动验收测试",运行"mvn verify"(设置,运行和拆除验收测试)

问题是作业2单元测试并重新构建被测工件(因为验证阶段会自动调用包阶段).由于几个原因(重要性降低),这是不可取的:

  • 作业2创建的工件可能与作业1创建的工件不同(例如,如果同时存在新的提交)
  • 将反馈循环延长到进行提交的开发人员(即他们需要更长时间才能发现他们破坏了构建)
  • 在CI服务器上浪费资源

所以我的问题是,如何配置作业2以使用作业1创建的工件?

我意识到我可以只有一个运行"mvn verify"的CI作业,它只会创建一次工件,但是我想拥有上面描述的单独的CI作业,以实现Farley风格的部署管道.


万一它可以帮助任何人,这里是接受答案中"项目2"的完整Maven 2 POM:

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example.cake</groupId>
    <artifactId>cake-acceptance</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>
    <name>Cake Shop Acceptance Tests</name>
    <description>
        Runs the automated acceptance tests for the Cake Shop web application.
    </description>
    <build>
        <plugins>
            <!-- Compiler -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <!-- Suppress the normal "test" phase; there's no unit tests -->
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId> …
Run Code Online (Sandbox Code Playgroud)

java continuous-integration maven-2 hudson continuous-deployment

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

Boilerpipe - 如何输出JSON?

我正在使用samppipe,看起来很棒,但我想输出JSON.我正在使用Java版本并在NetBeans中进行如下测试:

final URL url = new URL("http://mashable.com/2012/09/26/worlds-best-father-kickstarter-calendar");
System.out.println(ArticleExtractor.INSTANCE.getText(url));
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我是怎么做到的?

java json boilerpipe

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

何时使用Spring @ConfigurationCondition vs. @Condition?

Spring 4有两个新的注释@Condition,@ConfigurationConditon用于控制是否将bean添加到spring应用程序上下文中.JavaDoc没有提供足够的上下文/大图来理解用例@ConfigurationCondition.

什么时候应该@ConfigurationCondition@Condition

public interface ConfigurationCondition extends Condition {

    /**
     * Returns the {@link ConfigurationPhase} in which the condition should be evaluated.
     */
    ConfigurationPhase getConfigurationPhase();

    /**
     * The various configuration phases where the condition could be evaluated.
     */
    public static enum ConfigurationPhase {

        /**
         * The {@link Condition} should be evaluated as a {@code @Configuration} class is
         * being parsed.
         *
         * <p>If the condition does not match at this …
Run Code Online (Sandbox Code Playgroud)

java spring

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

Play中所有视图的可重用Scala代码

我知道我可以在模板中声明一个可重用的纯Scala块:

@title(text: String) = @{
  text.split(' ').map(_.capitalize).mkString(" ")
}
Run Code Online (Sandbox Code Playgroud)

我现在可以调用@title("someString")模板,但无法从此模板外部访问此代码块.

如何声明可以从其他模板访问的块?

我试图像这样创建一个新模板title.scala.html:

@(text : String)
@{
    text.split(' ').map(_.capitalize).mkString(" ")
}
Run Code Online (Sandbox Code Playgroud)

我现在可以@title("someString")从我想要的任何模板调用,但这并没有给出与模板内部第一个块完全相同的结果(我假设在第一种情况下它返回一个StringHtml在第二种情况下返回).

我正在使用Play framework 2.0.4并且我使用Java进行编码(因此我的Scala知识有限).

templates reusability playframework playframework-2.0

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