我们使用Junit作为测试框架.我们有很多项目.我们使用gradle(版本1.12)作为构建工具.要使用gradle并行运行单元测试,我们在测试任务的每个项目中使用波纹管脚本.
maxParallelForks = Runtime.runtime.availableProcessors()
Run Code Online (Sandbox Code Playgroud)
例如:
test {
maxParallelForks = Runtime.runtime.availableProcessors()
}
Run Code Online (Sandbox Code Playgroud)
我们还维护单个gradle.properties文件.是否可以在gradle.properties文件中定义test.maxParallelForks = Runtime.runtime.availableProcessors(),而不是在测试任务下的每个build.gradle文件中定义?
我使用JDK日志记录作为日志框架,SLF4J作为简单的外观.当我记录不同级别的日志时,我有一些疑问.
SLF4J具有以下日志级别
跟踪(最不严重)
调试
信息
警告
错误
致命(最严重)
JDK日志记录具有以下日志级别
严重(最高值)
警告
INFO
CONFIG
FINE
FINER
FINEST(最低值)
如果我想将日志级别设置为DEBUG,那么在JDK日志记录中该级别不可用.任何人都可以解释一下我们如何在这种情况下获得DEBUG级别的日志记录.我们是否需要针对这种情况进行任何其他配置?
更新
这是我的属性文件配置
handlers = com.amc.logging.handlers.DebugLogHandler
com.amc.logging.handlers.DebugLogHandler.pattern = c:/logs/debug_log.log com.amc.logging.handlers.DebugLogHandler.level = FINE com.amc.logging.handlers.DebugLogHandler.formatter = java.util.logging .SimpleFormatter com.amc.logging.handlers.DebugLogHandler.append = true
请让我知道我哪里出错了.
我创建了一个小型JPA项目来保存学生记录.我使用Oracle数据库.我使用OpenJPA作为JPa提供程序.
我已正确创建了Table学生和相关序列.
学生实体课程
@Entity
@Table(name = "Student")
public class Student implements Serializable {
private int id;
private String name;
private static final long serialVersionUID = 1L;
public Student() {
super();
}
@Id
@Column(name = "ID")
@SequenceGenerator(name = "TRAIN_SEQ", sequenceName = "STUDENT_SEQ")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "TRAIN_SEQ")
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
@Column(name = "NAME")
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = …Run Code Online (Sandbox Code Playgroud) 当我使用jQuery数据表时,我收到以下错误.
错误:无法获取未定义或空引用的属性"mData"
码
<link rel="stylesheet" type="text/css" href="css/jquery.dataTables.css">
<script type="text/javascript" src="js/jquery-2.1.4.js"></script>
<script type="text/javascript" src="js/jquery.dataTables.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#empTable').DataTable();
} );
</script>
<table id="empTable" class="display" width="100%">
<tr>
<th>Name</th>
<th>Age</th>
<th>Address</th>
</tr>
<tr>
<td>AAAAA</td>
<td>32</td>
<td>Colombo</td>
</tr>
<tr>
<td>BBBBB</td>
<td>29</td>
<td>Kandy</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
请建议我如何解决这个问题?
我们在persistence.xml文件中使用了波纹管属性.
<properties>
<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="javax.persistence.jdbc.dialect" value="org.hibernate.dialect.OracleDialect" />
<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@XYZDB01:78111:TATAD1" />
<property name="javax.persistence.jdbc.user" value="admin" />
<property name="javax.persistence.jdbc.password" value="admin@123" />
<property name="javax.persistence.jdbc.Schema" value="CSMVC" />
</properties>
Run Code Online (Sandbox Code Playgroud)
但我希望将persistence.xml中的动态属性外部化为类似于bellow的东西.
<properties>
<property name="javax.persistence.jdbc.driver" value="${db.driver}" />
<property name="javax.persistence.jdbc.dialect" value="${db.dialect}" />
<property name="javax.persistence.jdbc.url" value="${db.url}" />
<property name="javax.persistence.jdbc.user" value="${db.user}" />
<property name="javax.persistence.jdbc.password" value="${db.password}" />
<property name="javax.persistence.jdbc.Schema" value="${db.schema}" />
</properties>
Run Code Online (Sandbox Code Playgroud)
注意:我们使用openJpa作为JPA提供程序.
我们维护不同的文件夹来保存所有的罐子.
例如:
Repo
\-- lib
\-- test
\-- junit.jar
\-- hibernate
\-- hibernate.jar
Run Code Online (Sandbox Code Playgroud)
我使用了波纹管代码.
repositories {
flatDir {dirs "../Repo/lib/*"}
}
Run Code Online (Sandbox Code Playgroud)
如果我把所有的罐子都放在lib中就行了.但是,如果我把它放在不同的文件夹中,它会给出编译错误.
我试过这个
repositories {
flatDir {dirs "../Repo/lib/**"}
}
Run Code Online (Sandbox Code Playgroud)
请指导我.
我想用JPA 2.0创建OSGI持久性服务包.我使用OpenJpa作为持久性提供程序.
我尝试了一个带有JPA支持的示例OSGI包,当我的客户端调用持久性功能时,我遇到了问题.该服务无法创建EntityManagerFactory.始终为空.
我使用Apache Karaf作为安装服务的平台.
目前我正在eclipse中创建一个OSGI包,并将其作为一个包导出并在Karaf中部署.客户端可以调用该服务.但问题是当我得到EntityManagerFactory时.
我使用波纹管代码来获取EntityManagerFactory.
OpenJPAEntityManagerFactory emf = OpenJPAPersistence.createEntityManagerFactory
("StudentServiceProvider","META-INF/persistence.xml");
Run Code Online (Sandbox Code Playgroud)
请告诉我如何使用OpenJPA创建OSGI persitence bundle.
我已经创建了一个方法如下
static <N> N addTwoString(N a, N b){
StringBuilder sb = new StringBuilder();
sb.append(a);
sb.append(b);
return sb.toString();
}
public static void main(String[] args)
{
addTwoString("a", "b");
}
Run Code Online (Sandbox Code Playgroud)
对于这种情况,我传递两个字符串并追加它并使用StringBuilder返回它.无论如何,我正在错误的回报声明说类型不匹配:不能转换从字符串到N.我的问题是这个方法接受字符串值(甚至类型是N)没有任何问题,但为什么它在return语句中给出错误?
我使用 Java 8 和 Spring API 编写邮件正文,如下所示。
StringBuilder emailTemplateForNewPassword = new StringBuilder();
emailTemplateForNewPassword.append("Dear User,");
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append("Sample Mail.");
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append("Yours Faityfully,");
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append("ABC.Com");
emailTemplateForNewPassword.append(System.lineSeparator());
emailTemplateForNewPassword.append("0094778999658");
Run Code Online (Sandbox Code Playgroud)
预期结果:
亲爱的用户,
样本邮件。
此致
ABC.Com
0094778999658实际结果:
亲爱的用户,
样本邮件。
此致 ABC.Com 0094778999658
我不确定为什么最后 3 行出现在同一行,即使我使用过System.lineSeparator()。
我已经尝试过"\r\n"但没有运气。
任何人都可以建议出什么问题吗?
我知道还有其他与此相关的问题,但它们都不能解决我的问题。在我找到答案之前请不要沮丧这个问题。
java ×4
openjpa ×3
gradle ×2
java-ee ×2
jpa ×2
apache-karaf ×1
build.gradle ×1
datatables ×1
ibm-rad ×1
javascript ×1
jquery ×1
junit ×1
logging ×1
osgi ×1
osgi-bundle ×1
slf4j ×1
spring ×1