小编Миш*_*лев的帖子

在Java中_not_调用超类构造函数的任何方法?

如果我有课:

class A {
   public A() { }
}
Run Code Online (Sandbox Code Playgroud)

和另一个

class B extends A {
   public B() { }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法B.B() 打电话A.A()

java oop constructor super

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

Hibernate:@UniqueConstraint和@ManyToOne字段?

使用以下代码:

@Entity 
@Table(uniqueConstraints=[@UniqueConstraint(columnNames=["account","name"])])
class Friend {
  @Id @GeneratedValue(strategy=GenerationType.AUTO)
  public Long id
  @ManyToOne
  public Account account
  public String href
  public String name
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

org.hibernate.AnnotationException: Unable to create unique key constraint (account, name) on table Friend: account not found
Run Code Online (Sandbox Code Playgroud)

这似乎与@ManyToOne约束有关,我想这实际上创建了一个单独的UniqueConstraint ???

在任何情况下,如果我把它拿出来,没有关于UniqueConstraint的抱怨,但是还有另一个错误让我相信它必须留在.

org.hibernate.MappingException: Could not determine type for: com.mksoft.fbautomate.domain.Account, at table: Friend, for columns: [org.hibernate.mapping.Column(account)]
Run Code Online (Sandbox Code Playgroud)

任何提示如何创建这样一个所需的约束(即,帐户和名称的每个组合只出现一次???)

谢谢!

米莎

groovy hibernate

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

gradle runJar任务?

我正在尝试使用gradle运行我的Jar文件.

我想出了以下内容:

task runJar(dependsOn:[jar]){
  ant.java(jar:,fork:true)
}
Run Code Online (Sandbox Code Playgroud)

但是,我无法找到jar文件的路径.任何帮助非常感谢.谢谢!

米莎

编辑:好的,这很奇怪.这个任务编译之前运行等等.

编辑:修正.关键是doLast {}符号,或者简写

task runJar(dependsOn:"jar")<<{
  ant.java(jar:"${libsDir}${File.separator}${archivesBaseName}.jar",fork:true)
}
Run Code Online (Sandbox Code Playgroud)

米莎

java gradle

7
推荐指数
2
解决办法
7285
查看次数

Gradle fat jar _leaving out_ META-INF来自儿童罐子?

有没有办法从Gradle胖罐中省去某些路径.

我在用:

jar {
    from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
Run Code Online (Sandbox Code Playgroud)

http://docs.codehaus.org/display/GRADLE/Cookbook

并且如果可能的话,想要省略META-INF目录.

谢谢!米莎

gradle

7
推荐指数
2
解决办法
3154
查看次数

我想在Mac OS/Windows上的System Startup上运行我的Java程序.我怎样才能做到这一点?

这就是我想出的.它有效,但我想知道是否有更优雅的东西.谢谢!

米莎

/* Copyright (c) 2010 Misha Koshelev. All Rights Reserved.
 *
 * TODO:
 * - Add Linux support
 */
package com.mksoft.common;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.PrintWriter;

import java.net.URI;
import java.net.URISyntaxException;

/**
 * Run specified class within this JAR file on system startup.
 *
 * @author Misha Koshelev
 */
public class RunOnSystemStartup {    
    /*
     * Constants
     */
    protected final static String osName=System.getProperty("os.name");
    protected final static String fileSeparator=System.getProperty("file.separator");
    protected final static String javaHome=System.getProperty("java.home");
    protected …
Run Code Online (Sandbox Code Playgroud)

java windows macos startup

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

HTTP Builder/Groovy - 丢失302(重定向)处理?

我在这里阅读 http://groovy.codehaus.org/modules/http-builder/doc/handlers.html "如果响应发送重定向状态代码,这由Apache HttpClient内部处理,默认情况下只是通过将请求重新发送到新网址来关注重定向.您无需执行任何特殊操作即可遵循302响应."

当我只使用没有闭包的get()或post()方法时,这似乎工作正常.

但是,当我使用一个闭包时,我似乎失去了302处理.我有办法自己处理吗?谢谢

ps这是我的日志输出,显示它是302响应

 [java] FINER: resp.statusLine: "HTTP/1.1 302 Found"
Run Code Online (Sandbox Code Playgroud)

这是相关代码:

// Copyright (C) 2010 Misha Koshelev. All Rights Reserved.
package com.mksoft.fbbday.main

import groovyx.net.http.ContentType

import java.util.logging.Level
import java.util.logging.Logger

class HTTPBuilder {
  def dataDirectory
  HTTPBuilder(dataDirectory) {
    this.dataDirectory=dataDirectory
  }

  // Main logic
  def logger=Logger.getLogger(this.class.name)
  def closure={resp,reader->
    logger.finer("resp.statusLine: \"${resp.statusLine}\"")
    if (logger.isLoggable(Level.FINEST)) {
      def respHeadersString='Headers:';
      resp.headers.each() { header->respHeadersString+="\n\t${header.name}=\"${header.value}\"" }
      logger.finest(respHeadersString)
    }

    def text=reader.text
    def lastHtml=new File("${dataDirectory}${File.separator}last.html")
    if (lastHtml.exists()) {
      lastHtml.delete()
    }
    lastHtml<<text
    new XmlSlurper(new org.cyberneko.html.parsers.SAXParser()).parseText(text)          
  }
  def processArgs(args) {
    if (logger.isLoggable(Level.FINER)) …
Run Code Online (Sandbox Code Playgroud)

java groovy http builder http-status-code-302

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

从HTML输出Groovy pretty print XmlSlurper?

我使用几个不同的版本来执行此操作但似乎都导致此错误:

[致命错误]:1:171:前缀"xmlns"无法明确绑定到任何名称空间; "xmlns"的命名空间也不能明确地绑定到任何前缀.

我加载html为:

// Load html file
def fis=new FileInputStream("2.html")
def html=new XmlSlurper(new  org.cyberneko.html.parsers.SAXParser()).parseText(fis.text)        
Run Code Online (Sandbox Code Playgroud)

我试过的版本:

http://johnrellis.blogspot.com/2009/08/hmmm_04.html

import groovy.xml.StreamingMarkupBuilder
import groovy.xml.XmlUtil
def streamingMarkupBuilder=new StreamingMarkupBuilder()
println XmlUtil.serialize(streamingMarkupBuilder.bind{mkp.yield html})
Run Code Online (Sandbox Code Playgroud)

http://old.nabble.com/How-to-print-XmlSlurper%27s-NodeChild-with-indentation--td16857110.html

// Output
import groovy.xml.MarkupBuilder
import groovy.xml.StreamingMarkupBuilder
import groovy.util.XmlNodePrinter
import groovy.util.slurpersupport.NodeChild

def printNode(NodeChild node) {
    def writer = new StringWriter()
    writer << new StreamingMarkupBuilder().bind {
      mkp.declareNamespace('':node[0].namespaceURI())
      mkp.yield node
    }
    new XmlNodePrinter().print(new XmlParser().parseText(writer.toString()))
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

谢谢!米莎

html groovy xmlslurper

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

Java中强大的Javascript解析器

我正在寻找一个用Java编写的强大的 Javascript解析器 - 我指的是一个能够处理大多数真实世界Javascript的Javascript解析器.

我只对解析 Javascript 感兴趣,而不是执行它.

我找到了Rhino:http: //groups.google.com/group/mozilla.dev.tech.js-engine.rhino/browse_thread/thread/1eff23a8ee57b991

我错过了什么吗?这是最好的解决方案吗?

谢谢!米莎

javascript java

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

Groovy 'as' 关键字实现 2+ 接口

我想实现一个同时具有 AdvancedTableFormat 和 WritableTableFormat 接口的 Glazed List。

我在这里阅读: http: //www.jroller.com/aalmiray/entry/glazedlists_groovy_not_your_regular

对于一个界面来说,在 Groovy 中使用“as”关键字似乎可以实现这一点:

# return new EventTableModel(linksList, [  
#       getColumnCount: {columnNames.size()},  
#       getColumnName: {index -> columnNames[index]},  
#       getColumnValue: {object, index ->  
#          object."${columnNames[index].toLowerCase()}"  
#       }] as TableFormat)
Run Code Online (Sandbox Code Playgroud)

是否可以以某种方式为两个接口执行此操作?如果是这样怎么办?

谢谢你!

米沙

groovy glazedlists

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

Hibernate一对多映射是否与列表有效但不是一组?

很抱歉打扰 - 也许这是一个非常简单的问题 - 但由于某种原因,下面的版本无法解析,而带有set的版本工作正常.事实上,如果我只是采取设置版本并用列表替换set我得到:

嵌套异常是org.hibernate.InvalidMappingException:无法从无效映射中解析映射文档

谢谢Misha

    <!-- bi-directional one-to-many association to SpreadsheetImportTemplateColumn -->
    <list name="columns">
<!--
    <set name="columns" lazy="false" inverse="true"
        cascade="all-delete-orphan" sort="natural"
        order-by="voided asc, preferred desc, date_created desc">
-->
        <key column="template_id" not-null="true" />
<!--
        <one-to-many class="SpreadsheetImportTemplateColumn" />
    </set>
-->
    </list>
Run Code Online (Sandbox Code Playgroud)

java orm hibernate hibernate-mapping

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

在Maven中发出HTTP post请求(带有输入类型="file"),如果可能的话使用命令行参数

我想转换这个bash脚本:

#!/bin/bash
if ! [ $# == 2 ]; then
   echo Usage: update-module admin-password module-file
   exit 1
fi
if ! [ -f $2 ]; then
   echo Error: module file $2 does not exist
   exit 1
fi
curl -c /tmp/cookie.txt -d uname=admin -d pw=${1} http://localhost:8080/openmrs/loginServlet
curl -b /tmp/cookie.txt -F action=upload -F update=true -F moduleFile=\@$2 http://localhost:8080/openmrs/admin/modules/module.list
rm -rf /tmp/cookie.txt > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

进入可以放入maven pom.xml文件的东西.

请注意,module-file是一个jar文件(重命名为.omod),理想情况下会在命令行中指定admin-password,类似于maven原型的命令行参数:create http://maven.apache.org/guides/mini /guide-creating-archetypes.html#Alternative_way_to_start_creating_your_Archetype

(理想情况下,主机名也应在命令行中指定).

谢谢

你的Misha

post maven-2 http multipartform-data

0
推荐指数
1
解决办法
4001
查看次数