小编jav*_*csw的帖子

java中的注释继承是否有类似内容?

我正在探索注释,并且发现某些注释似乎在它们之间具有层次结构.

我正在使用注释在后台为卡片生成代码.存在不同的卡类型(因此不同的代码和注释)但是在它们之间存在某些共同的元素,如名称.

@Target(value = {ElementType.TYPE})
public @interface Move extends Page{
 String method1();
 String method2();
}
Run Code Online (Sandbox Code Playgroud)

这将是常见的注释:

@Target(value = {ElementType.TYPE})
public @interface Page{
 String method3();
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我希望Move继承方法3但是我得到一个警告,说扩展对注释无效.我试图让Annotation扩展一个共同的基础,但这不起作用.这是可能的还是只是一个设计问题?

java inheritance annotations

110
推荐指数
4
解决办法
8万
查看次数

在没有persistence.xml配置文件的情况下创建JPA EntityManager

有没有一种方法来初始化EntityManager没有定义的持久性单元?您能否提供创建实体管理器所需的所有属性?我需要EntityManager在运行时从用户的指定值创建.不能更新persistence.xml和重新编译.

关于如何做到这一点的任何想法都受到欢迎!

jpa runtime entitymanager persistence.xml

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

定期重置Embedded H2数据库

我正在一个演示服务器中设置我的应用程序的新版本,并希望找到一种每天重置数据库的方法.我想我总是可以执行一个cron作业执行drop并创建查询,但我正在寻找一种更清洁的方法.我尝试使用具有drop-create方法的特殊持久性单元,但它不起作用,因为系统经常连接和断开服务器(按需).

有更好的方法吗?

h2 reset

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

JPA插入声明

JPA insert语句的正确语法是什么?这可能听起来像一个简单的问题但我无法找到答案.

我知道如何从Java代码中完成它,但我正在寻找一种方法,如果创建了数据库,就将对象插入到数据库中.

有任何想法吗?

jpa

31
推荐指数
4
解决办法
7万
查看次数

Eclipselink更新现有表

也许我弄错了但我认为JPA能够更新现有的表(模型更改添加列)但在我的情况下不起作用.

我可以在日志中看到eclipselink试图创建它但失败因为它已经存在.而不是尝试更新添加列,它继续前进.

<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jwrestling"/>
<property name="javax.persistence.jdbc.password" value="password"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="user"/>
<property name="eclipselink.ddl-generation" value="create-tables"/>
<property name="eclipselink.logging.logger" value="org.eclipse.persistence.logging.DefaultSessionLog"/>
<property name="eclipselink.logging.level" value="INFO"/>
Run Code Online (Sandbox Code Playgroud)

这是改变的表格(在线栏目添加)

[EL Warning]: 2010-05-31 14:39:06.044--ServerSession(16053322)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.1.0.v20100517-r7246): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'account' already exists
Error Code: 1050
Call: CREATE TABLE account (ID INTEGER NOT NULL, USERNAME VARCHAR(32) NOT NULL, SECURITY_KEY VARCHAR(255) NOT NULL, EMAIL VARCHAR(64) NOT NULL, STATUS VARCHAR(8) NOT NULL, TIMEDATE DATETIME NOT NULL, PASSWORD VARCHAR(255) NOT NULL, ONLINE TINYINT(1) default …

java orm jpa eclipselink

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

从Java运行ant

是否有关于如何从Java运行Ant的教程?我从这里得到了一些代码:从Java运行Ant时设置JAVA_HOME

但一直无法使其发挥作用.我一直试图找到一个如何实际使用它的示例或教程.

这是我到目前为止所拥有的:

        Project p = new Project();
        p.setUserProperty("ant.file", buildFile.getAbsolutePath());
        p.fireBuildStarted();
        p.init();
        p.executeTarget("default");

但我想这个错误:

Exception in thread "main" Target "default" does not exist in the project "null". 
    at org.apache.tools.ant.Project.tsort(Project.java:1912)
    at org.apache.tools.ant.Project.topoSort(Project.java:1820)
    at org.apache.tools.ant.Project.topoSort(Project.java:1783)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    at com.arthrocare.vss2svn.VSS2SVN.newProcess(VSS2SVN.java:128)
    at com.arthrocare.vss2svn.VSS2SVN.main(VSS2SVN.java:52)
Java Result: 1

我尝试用以下方法指定项目:

p.setUserProperty("ant.project.name", "VSS Project");

但没有运气.

指定的ant文件是正确的,因为它在命令行中运行良好.

UPDATE

经过一番搜索,我来到这里:http://onjava.com/pub/a/onjava/2002/07/24/antauto.html?page = 1

这是一个很棒的教程.

这里的代码比我在下面的答案中看到的代码要早一点:

        Project project = new Project();
        ProjectHelper.configureProject(project, buildFile);
        DefaultLogger consoleLogger = new DefaultLogger();
        consoleLogger.setErrorPrintStream(System.err);
        consoleLogger.setOutputPrintStream(System.out);
        consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
        project.addBuildListener(consoleLogger);
        project.init();
        project.executeTarget(project.getDefaultTarget());

但由于某种原因,任务仍然失败!我正在使用Visual Source Safe任务,需要在运行时读取环境值,但是这种方法看不到它.手动运行build.xml文件并使用以下代码:

        ProcessBuilder …

java ant

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

列出文件夹中的目录,忽略子目录ANT

基本上我有一个javadoc的以下结构:

build
+---javadoc
+-------Module A
+-------Module B
+---Index.html
Run Code Online (Sandbox Code Playgroud)

模块X是文件夹.我正在尝试列出那里的文件夹,忽略子文件夹,所以我可以创建主索引.到目前为止这就是我所拥有的:

<target name="x">
    <dirset id="dist.contents" dir="build/javadoc" excludes="build/javadoc/*/**"/>
    <property name="prop.dist.contents" refid="dist.contents"/>
    <echo>${prop.dist.contents}</echo>
</target>
Run Code Online (Sandbox Code Playgroud)

但它给了我Module的文件夹及其所有子文件夹.我知道这应该是一个小细节,但我无法弄清楚.

ant

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

在JPA查询中使用CURRENT_DATE的示例

有人能指出我如何CURRENT_DATE在JPA查询中使用的示例吗?

CURRENT_DATE在JPA中指定但我无法使其工作.我总是得到unexpected token [CURRENT_DATE]例外.由于JPA中规定了所有提供商都应该遵守它吗?

我正在使用EclipseLink 2.0 BTW.

java jpa eclipselink

12
推荐指数
2
解决办法
4万
查看次数

Mercurial:启用git subrepo

最近,默认情况下禁用此行为.该消息提示您检查帮助页面,但它没有帮助,至少它没有帮助我.

 "subrepos"
    ----------

    This section contains options that control the behavior of the
    subrepositories feature. See also 'hg help subrepos'.

    Security note: auditing in Mercurial is known to be insufficient to
    prevent clone-time code execution with carefully constructed Git subrepos.
    It is unknown if a similar detect is present in Subversion subrepos. Both
    Git and Subversion subrepos are disabled by default out of security
    concerns. These subrepo types can be enabled using the respective options
    below.

    "allowed"
        Whether subrepositories are …
Run Code Online (Sandbox Code Playgroud)

git configuration mercurial

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

有没有办法在复制依赖目标期间使用maven-dependency-plugin在测试和编译之间划分工件?

我有以下配置:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-dependency-plugin</artifactId>
  <version>2.6</version>
  <executions>
      <execution>
          <id>analyze</id>
          <goals>
              <goal>analyze-only</goal>
          </goals>
          <configuration>
              <failOnWarning>false</failOnWarning>
          </configuration>
      </execution>
      <!--Copy the dependencies so ant build has the same versions-->
      <execution>
          <id>copy-dependencies</id>
          <phase>package</phase>
          <goals>
              <goal>copy-dependencies</goal>
          </goals>
          <configuration>
              <outputDirectory>${project.basedir}/lib</outputDirectory>
              <overWriteIfNewer>true</overWriteIfNewer>
              <stripVersion>true</stripVersion>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>true</overWriteSnapshots>
              <excludeTransitive>false</excludeTransitive>
          </configuration>
      </execution>
  </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

上面的配置会转储同一文件夹中的所有内容.我尝试通过添加测试配置来排除测试范围但是给出了错误:

未能执行目标org.apache.maven.plugins:Maven的依赖关系的插件:2.6:项目pcgen复制依赖(复制依赖):不能排除测试范围,这将排除一切.

有没有办法将测试依赖项与其他依赖项分开,以便我可以复制到不同的文件夹?

configuration maven-2 maven-dependency-plugin

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