我使用以下两个依赖项:
compile 'com.google.guava:guava:14.0.1'
compile 'com.google.guava:guava-gwt:14.0.1'
Run Code Online (Sandbox Code Playgroud)
两者必须是相同的版本才能正常工作.由于我的其他依赖项使用更高版本,因此Gradle为每个依赖项使用不同的版本.
我通过运行找到了这个gradle dependencies
:
compile - Compile classpath for source set 'main'.
+--- com.google.guava:guava:14.0.1 -> 17.0
+--- com.google.guava:guava-gwt:14.0.1
| +--- com.google.code.findbugs:jsr305:1.3.9
| \--- com.google.guava:guava:14.0.1 -> 17.0
Run Code Online (Sandbox Code Playgroud)
如何强制Gradle为这两个依赖项设置相同的版本?
我想知道是否有办法为所有IntelliJ项目设置默认位置,类似于Eclipse中的工作区概念?
因为我在创建新项目时总是需要更改IDEA项目位置.
@IntegrationTest
使用Spock 运行集成测试(例如)的最佳方法是什么?我想引导整个Spring Boot应用程序并执行一些HTTP调用来测试整个功能.
我可以使用JUnit(首先运行app然后执行测试):
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MyServer.class)
@WebAppConfiguration
@IntegrationTest
class MyTest {
RestTemplate template = new TestRestTemplate();
@Test
public void testDataRoutingWebSocketToHttp() {
def a = template.getForEntity("http://localhost:8080", String.class)
println a
}
}
Run Code Online (Sandbox Code Playgroud)
但是使用Spock,应用程序无法启动:
@SpringApplicationConfiguration(classes = MyServer.class)
@WebAppConfiguration
@IntegrationTest
class MyTestSpec extends Specification {
RestTemplate template = new TestRestTemplate();
def "Do my test"() {
setup:
def a = template.getForEntity("http://localhost:8080", String.class)
expect:
println a
}
}
Run Code Online (Sandbox Code Playgroud)
当然,对于Spock,我在Gradle构建文件中指定了正确的依赖项:
...
dependencies {
testCompile 'org.spockframework:spock-core:0.7-groovy-2.0'
testCompile 'org.spockframework:spock-spring:0.7-groovy-2.0'
}
...
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
我想在Clojure中实现这个小代码,但我很挣扎:
struct mystruct {
int id;
int price;
};
mystruct mydata[10];
for (int i=0; i<10; i++) {
myfunction(mydata[i].id, mydata[i].price);
//other things...
}
Run Code Online (Sandbox Code Playgroud)
我是Clojure的初学者,这对我来说真的很复杂,但是我真的很想学习,因为我知道Clojure有很大的优势,比如使用refs ......
如果有人能帮助我,我真的很感激.谢谢!!
我创建了一个Maven项目.这是结构:
-parent
-core
-web
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用该命令进行部署时mvn tomcat7:deploy
,我收到以下错误:
No plugin found for prefix 'tomcat7' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo]
Run Code Online (Sandbox Code Playgroud)
我把这个配置放在pom.xml(web项目)中:
<build>
<finalName>MavenWeb</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud) 我有一个maven settings.xml位于:
/home/u123/.m2/settings.xml
Run Code Online (Sandbox Code Playgroud)
我指定一个远程maven存储库:
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<profiles>
<profile>
<id>default</id>
<repositories>
<repository>
<id>my.repo</id>
<url>http://myrepo/ </url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>default</activeProfile>
</activeProfiles>
</settings>
Run Code Online (Sandbox Code Playgroud)
在这个repo中,我已经部署了一个工件 - 实际上它是一个gradle插件.
现在我尝试使用下面的build.gradle文件构建另一个需要使用此插件/工件的项目:
apply plugin: 'java'
apply plugin: 'maven'
buildscript {
dependencies {
classpath 'com.test:my-gradle-plugin:1.0.0-SNAPSHOT'
}
}
Run Code Online (Sandbox Code Playgroud)
但是构建失败了:
...
> Could not find group:com.test, module:my-gradle-plugin, version:1.0.0-SNAPSHOT.
...
Run Code Online (Sandbox Code Playgroud)
即使我有上面指向远程maven存储库的settings.xml文件,Gradle也找不到my-gradle-plugin.
如果我在 build.gradle文件中指定存储库,它可以工作:
buildscript {
repositories {
maven {
url "http://myrepo/"
}
}
dependencies {
classpath 'com.test:my-gradle-plugin:1.0.0-SNAPSHOT'
}
}
Run Code Online (Sandbox Code Playgroud)
根据这篇文章:
http://forums.gradle.org/gradle/topics/have_mavenlocal_check_m2_home_conf_settings_xml
似乎gradle考虑了settings.xml文件,那么出了什么问题呢?
我在settings.xml中有以下内容
<mirrors>
<mirror>
<id>paid-jars</id>
<name>jars with license</name>
<url>http://url:8081/nexus/content/repositories/paidjars/</url>
<mirrorOf>!central</mirrorOf>
</mirror>
<mirror>
<id>Org-central</id>
<name>mirror of central</name>
<url>http://url:8081/nexus/content/repositories/central/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
Run Code Online (Sandbox Code Playgroud)
在pom.xml中我有两个罐子
但是当我运行maven clean install
它时,它试图从Org-central下载licensed.jar.
如何让它使用付费罐子下载?是否有可能首先进入Org-central,如果失败,它会尝试付费罐子?如果是这样,怎么样?我不想把repo条目放在pom.xml中
将Settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<proxies>
<proxy>
<id>Proxy</id>
<active>true</active>
<protocol>http</protocol>
<username>username</username>
<password>******</password>
<host>host.url</host>
<port>8080</port>
<nonProxyHosts>local.net|internal.com</nonProxyHosts>
</proxy>
</proxies>
<mirrors>
<mirror>
<id>paid-jars</id>
<name>jars with license</name>
<url>http://url:8081/nexus/content/repositories/paidjars/</url>
<mirrorOf>!central</mirrorOf>
</mirror>
<mirror>
<id>Org-central</id>
<name>mirror of central</name>
<url>http://url:8081/nexus/content/repositories/central/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>compiler</id>
<properties>
<JAVA_1_7_HOME>C:\Program Files (x86)\Java\jdk1.7.0_51\bin</JAVA_1_7_HOME>
</properties>
</profile>
</profiles>
</settings>
Run Code Online (Sandbox Code Playgroud) 我刚开始HTML5,想知道一般我们是否应该使用一个<form>
每个Web页面或多个表单标签标签.
也许这取决于具体情况,但这里有两种不同的情况:
将表格标签放在另一个标签内是不是很糟糕,还是每个标准都可以?
谢谢
编辑 您能否以简单的方式解释表单标记的用途是什么?
我正在开发一个Spring WebFlow项目,它在XML文件中有很多属性值,正如Spring程序员所知道的那样.我有数据库用户名,密码,URL等.
我们正在使用Eclipse与Spring WebFlow和Maven.我们正在尝试让SA执行构建,但SA不想进入XML文件来更改值,但另一方面,我们不知道生产值.我们如何使用它?
我试图创建一个自定义的注释,例如,可以确保一个字段或方法既public
和final
,并会产生一个编译时错误,如果字段或方法是不能同时public
和final
,如这些例子:
// Compiles
@PublicFinal
public final int var = 2;
// Compiles
@PublicFinal
public final void myMethod {}
// Compile time error
@PublicFinal
private final int fail = 2;
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经制作了两个自定义注释界面:
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Documented
@Retention(RetentionPolicy.SOURCE)
@Target({ElementType.METHOD, ElementType.FIELD})
public @interface PublicFinal { }
Run Code Online (Sandbox Code Playgroud)
并且Processor
:
import javax.annotation.processing.AbstractProcessor;
import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes;
import javax.lang.model.element.Modifier;
import javax.lang.model.element.TypeElement;
import java.util.Set;
@SupportedAnnotationTypes("PublicFinal")
public class PubicFinalProcessor extends AbstractProcessor
{
@Override …
Run Code Online (Sandbox Code Playgroud) java ×6
gradle ×3
maven ×3
annotations ×1
arrays ×1
build ×1
clojure ×1
dependencies ×1
eclipse ×1
for-loop ×1
groovy ×1
html ×1
html5 ×1
javac ×1
loops ×1
maven-3 ×1
nexus ×1
repository ×1
spock ×1
spring ×1
spring-boot ×1
spring-mvc ×1
svn ×1
tomcat ×1
xhtml ×1