我正在使用由abbuild表示的版本控制系统,其中a是整体版本(原型,alpha和beta版本为0,主要版本为1),b是里程碑版本(沿着代表原型的行, alpha,beta阶段)和build表示项目编译的次数.
目前,我在应用程序运行时设置了调试标志,从文本文件中读取应用程序,增加数字并保存到文本文件.
我正在寻找一种更"正确"的方法来使用Java和Netbeans来做到这一点.有没有什么方法可以将构建数量注入到构建过程的某个地方?最好将数字保存到项目附带的源文件中 - 而不是依赖附近文件的存在.
我正在开发一个大型项目,该项目由大约40个子项目组成,这些子项目的依赖性非常不优化.声明的依赖项未使用,也未使用但未声明的依赖项.当通过其他依赖添加依赖时,第二种情况是可能的.
我想删除多余并添加所需的依赖项.我跑了mvn dependency:analyze,得到了一长串的警告我现在必须解决.
我想知道是否有maven插件或任何其他可以pom.xml自动更新我的文件的实用程序.我尝试手动完成,但需要花费很多时间.似乎需要几天的复制/粘贴才能完成任务.
在更糟糕的情
以下是mvn dependency:analyze报告依赖性警告的方法:
[WARNING] Used undeclared dependencies found:
[WARNING] org.apache.httpcomponents:httpcore:jar:4.1:compile
[WARNING] Unused declared dependencies found:
[WARNING] commons-lang:commons-lang:jar:2.4:compile
[WARNING] org.json:json:jar:20090211:compile
Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的问题,至少有一个我从未遇到过的问题.我有一个前提条件,客户有简单的正则表达式与标签相关联.标签是他们关心的.我想要做的是创建一个列表,列出所有可能匹配这些正则表达式的数字.当列表超出某个阈值时,我会有逻辑警告我.
以下是正则表达式的示例: 34.25.14.(227|228|229|230|243|244|245|246)
让我们说这些ip与ACME有关.在用户选择ACME(在我们的UI中)的幕后,我填写了一个包含所有这些可能数字的过滤器对象,并将它们作为OR查询提交给高度专业化的Vertica数据库.
我无法确定从所述正则表达式创建数字列表的优雅方式.
另一方面,产品的另一部分中的java代码使用这些正则表达式通过使用java Pattern.compile()来显示ACME,这意味着客户'可以'创建复杂的正则表达式.到目前为止,我只看到它们,使用如上所示的简单方法.
是否有一种方法可以生成基于正则表达式的列表?
谢谢你的时间.
在阅读了Tomcat NIO连接器之后,我仍然没有得到一件事:如果应用程序代码阻塞,nio连接器是否有用,即在读取文件系统时,在调用外部Web服务时阻止从数据库读取?
因此,例如,您有一个类似REST的API,它接收请求,从数据库中读取内容并返回响应.它不使用servlet 3异步,它只是写入响应.
我没有找到NIO连接器使用的线程池的完整描述,但我想它有一个用于处理请求的线程池,因此每个请求最终都在它自己的线程中,它可以阻塞.
如果是这种情况,NIO的好处是否仍然存在,或者阻止代码会降低NIO的好处(在资源利用方面)?
是否有Java中的监听器来处理某些线程已经结束?像这样的东西:
Future<String> test = workerPool.submit(new TestCalalble());
test.addActionListener(new ActionListener()
{
public void actionEnd(ActionEvent e)
{
txt1.setText("Button1 clicked");
}
});
Run Code Online (Sandbox Code Playgroud)
我知道,这样处理是不可能的,但我想在一些线程结束时得到通知.
通常我用这个Timer类来检查每个Future的状态.但这不是很好的方式.谢谢
我们使用Hibernate作为持久层,并具有复杂的对象模型.在不暴露真实数据模型的情况下,我想使用以下简单示例来解释问题.
class Person {
private Integer id; //PK
private String name;
private Account account;
// other data, setters, getters
}
class Account {
private Integer id; //PK
// other data, setters, getters
}
Run Code Online (Sandbox Code Playgroud)
使用HBM定义DB映射如下:
<class name="Person" table="PERSON">
<id name="id" column="ID">
<generator class="native"/>
</id>
<version name="version" type="java.lang.Long"/>
<property name="name" type="java.lang.String" length="50" column="NAME"/>
<many-to-one name="account" column="ACCOUNT_ID"
class="com.mycompany.model.Account"/>
</class>
Run Code Online (Sandbox Code Playgroud)
我必须保存Person链接到现有的新填充实例Account.该调用由Web客户端发起,因此在我的层中,我获取引用其实例的Person实例Account仅保存其ID.
如果我尝试调用saveOrUpdate(person)以下异常抛出:
org.hibernate.TransientObjectException:
object references an unsaved transient instance - save the transient instance before flushing: …Run Code Online (Sandbox Code Playgroud) 是否有任何Java API或开源来构建数据聚合,分组和分析对象数据列表?
战略应该是:
我们使用Jersey来实现RESTful API,利用其自动WADL生成的强大功能.
举个例子,我们有方法
@GET
@Path("/{id}/{attribute}")
@Produces(MediaType.APPLICATION_JSON)
public Object getAttributeByID(@PathParam("id") long id, @PathParam("attribute") String attribute) {
....
}
Run Code Online (Sandbox Code Playgroud)
这会在WADL中生成以下片段:
<param type="xs:string" style="template" name="attribute:.*"/>
Run Code Online (Sandbox Code Playgroud)
属性可以是name,type,size我们希望不只是为了确认在运行时的值,但也表明它在生成WADL根据这份文件这样的功能应通过生成的多个变量来支持<option>内部<param>,也就是我期待像下面这样:
<param type="aws:Attributes" style="template" name="attribute">
<option value="name"/>
<option value="type"/>
<option value="size"/>
</param>
Run Code Online (Sandbox Code Playgroud)
我的问题是用泽西岛启用它.如果未能找到相关文件,并认为可能是,如果我从改变参数的类型String来enum此功能会自动工作,所以我改变了方法签名:
@Path("/{id}/{attribute}")
@Produces(MediaType.APPLICATION_JSON)
public Object getAttributeByID(@PathParam("id") long id, @PathParam("attribute") Attribute attribute) {
....
}
Run Code Online (Sandbox Code Playgroud)
哪里
public enum Attribute {
name, type, size
}
Run Code Online (Sandbox Code Playgroud)
但泽西岛仍然生成<param>没有选项的标签,参数的类型仍然是xs:string.
我试图在Jersey的代码中找到它并找到com.sun.research.ws.wadl.Option …
我有以下数据结构.
@Entity
public class Device extends AbstractEntity implements Serializable{
private int id;
//...
private List<Item> items;
@OneToMany(fetch=FetchType.EAGER)
public List<Item> getItems() {
return configurationItems;
}
}
Run Code Online (Sandbox Code Playgroud)
每个项目都包含对设备的反向引用:
class Item {
private Device;
@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH} )
public Device getDevice() {
return device;
}
}
Run Code Online (Sandbox Code Playgroud)
我可以创建设备,添加项目并保存所有这些.我可以从数据库中检索对象,除了对项目所持有的设备的引用外,一切正常.
如何读取项目并不重要:1.读取所有相关项目的设备2.读取项目
Device引用始终为null.我想我的注释@ManyToOne出了点问题.
我正在使用hibernate和spring,通过继承HibernateDaoSupport实现DAO.
以下是检索所有项目的代码示例:
getHibernateTemplate().loadAll(Item.class)
Run Code Online (Sandbox Code Playgroud) 我正在使用以下命令将图像序列转换为视频.
ffmpeg -r 1 -i sample%d.png -s 320x240 -aspect 4:3 output.flv
Run Code Online (Sandbox Code Playgroud)
这对我来说很好!
现在我正在尝试使用上面的命令来运行java代码.
如何使用Runtime.getRuntime()我的java代码运行ffmpeg命令.
请分享你的想法..