我在Eclipse中有一个现有的Java项目.我想使用gradle实现构建.我尝试使用这里给出的gradle eclipse插件, 但在Eclipse中遇到了很多错误.
我正在使用gradle 1.3,我尝试从命令提示符运行gradle,但是我收到了编译错误.
所以我的问题是,有没有人知道一些好的资源,它提供了一个如何在Eclipse中转换现有的java项目以使用gradle进行编译.我也对其他项目有一些依赖.我给出的教程链接并没有多大帮助.
更新:如果我的项目没有依赖于其他项目,我可以让gradle工作.但是,如果它确实引用了其他一些项目,我无法弄清楚如何引用另一个项目?我已将引用的项目目录添加到存储库但我仍然得到"类不存在"错误.我的gradle文件如下:
apply plugin: 'java'
apply plugin: 'eclipse'
version='1.0-SNAPSHOT'
def repositoryPath = 'C:/Users/AMoody/workspace/temp/temp-protocols/'
repositories{
mavenCentral()
flatDir {
dirs repositoryPath
}
}
dependencies{
compile 'org.slf4j:slf4j-api:1.+'
compile 'junit:junit:4.+'
testCompile 'junit:junit:4.+'
}
Run Code Online (Sandbox Code Playgroud) 我想知道自动生成JUnit4测试的好工具.通过自动生成,我的意思是,如果我编写一个.java文件,那么应该使用方法占位符和setup/teardown创建相同的测试文件(比如eclipse的自动生成构造函数)
我找到了一些,但我没有尝试过所有这些,坦率地说,我被过多的选择所震撼.我想知道是否有人尝试了其中的一些/全部并且有任何来自这些或任何其他的建议.
在Eclipse中,有没有办法在每个返回语句中找到一个返回方法而没有记录标志的返回语句?
例如:
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof ABC)) {
return false;
}
ABC other = (ABC) obj;
if (var1 == null) {
if (other.var1 != null) {
return false;
}
} else if (!var1.equals(other.var1)) {
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我如何找出我的equals方法返回的位置?
在Hadoop上运行的所有配置单元查询都出错.
只需从存在的表中运行select语句并获得以下结果:
Fetching results ran into the following error(s):
Couldn't find log associated with operation handle:
OperationHandle[opType=EXECUTE_STATEMENT,
getHandleIdentifier()=263df9c3-c076-454f-a025-23f5b919e957]
Run Code Online (Sandbox Code Playgroud)
查询的伴随日志是:
请求TFetchResultsReq的错误状态(fetchType = 1,operationHandle = TOperationHandle(hasResultSet = False,modifiedRowCount = None,operationType = 0,operationId = THandleIdentifier(secret ='%\ x1d\x0f\x11\xce\xf4B\xd6\xb8\xb5\x8ddv\xceKV',guid ="\ xbc5\xd9 |\xfa\x13J'\ x86\x8e4\xb3\x87\xa0\xf4\x05")),orientation = 4,maxRows = -1):TFetchResultsResp(status = TStatus(errorCode = 0,errorMessage ="找不到与操作句柄关联的日志:OperationHandle [opType = EXECUTE_STATEMENT,getHandleIdentifier()= bc35d97c-fa13-4a27-868e-34b387a0f405]",sqlState = None,infoMessages = ["*org.apache.hive.service.cli.HiveSQLException:找不到与操作句柄关联的日志:OperationHandle [opType = EXECUTE_STATEMENT,getHandleIdentifier()= bc35d97c-fa13-4a27-868e-34b387a0f405]:25:24",'org.apache.hive.service.cli.operation.OperationManager:getOperationLogRowSet:OperationManager.java:257','org.apache.hive.service.cli.session.HiveSessionImpl:fetchResults:HiveSessionImpl.java:656','sun .reflect.GeneratedMethodAccessor29:invoke :: - 1','sun.reflect.DelegatingMethodAccessorImpl:invoke:DelegatingMethodAccessorImpl.java:43','java.lang.reflect.Method:invoke:Method.java:606','org.apache .hive.service.cli.session.HiveSessionProxy:invoke:HiveSessionProxy.java:79','org.apache.hive.service.cli.session.HiveSessionProxy:access $ 000:HiveSessionProxy.java:37','org.apache. hive.service.cli.session.HiveSessionProxy $ 1:run:HiveSessionProxy.java:64','java.security.AccessController:doPrivileged:AccessController.java:-2','javax.security.auth.Subject:doAs:Subject.java:415','org.apache.hadoop.security.UserGroupInformation:doAs:UserGroupInformation.java:1628','org.apache.hadoop.hive.shims.HadoopShimsSecure:doAs:HadoopShimsSecure.java:536',' org.apache.hive.service.cli.session.HiveSessionProxy:invoke:HiveSessionProxy.java:60','com.sun.proxy.$ Proxy28:fetchResults :: - 1','org.apache.hive.service.cli .CLIService:fetchResults:CLIService.java:427','org.apache.hive.service.cli.thrift.ThriftCLIService:FetchResults:ThriftCLIService.java:587','org.apache.hive.service.cli.thrift.TCLIService $ Processor $ FetchResults:getResult:TCLIService.java:1553','org.apache.hive.service.cli.thrift.TCLIService $ …
在Java中,用于创建记录器,而不是调用
private static final Logger logger = LoggerFactory.getLogger("ClassName");
Run Code Online (Sandbox Code Playgroud)
我创建了一个实用程序方法,它从堆栈跟踪中返回类名并调用该方法.
private static final Logger logger = LoggerFactory.getLogger(Utilities.getInvokingClassName());
Run Code Online (Sandbox Code Playgroud)
Utilities.java:
public static String getInvokingClassName()
{
return new Throwable().getStackTrace()[1].getClassName();
}
Run Code Online (Sandbox Code Playgroud)
缺点显然是我使用的是资源密集型流程,而专业人员则认为我在编码时具有更高的模块性.问题是这对性能的影响有多大?如果它不太耗费资源,那为什么它不是标准做法?