我想用我的maven项目得到一个工作的jar文件.
构建部分是:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.14</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>6.4.1</version>
</dependency>
</dependencies>
<configuration>
<consoleOutput>true</consoleOutput>
<configLocation>${basedir}/src/test/resources/checkstyle_swt1.xml</configLocation>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptor>src/assembly/src.xml</descriptor>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<addClasspath>true</addClasspath>
<mainClass>org.jis.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Run Code Online (Sandbox Code Playgroud)
所以我现在的问题是我不知道如何将mainclass正确地实现到我的pom.xml中以及稍后我的jar文件中.文件夹结构是:src/main/java/org/jis/Main.java但是如果我添加以下行
<mainClass>src.main.java.org.jis.Main</mainClass>
Run Code Online (Sandbox Code Playgroud)
它不起作用.
提前致谢
我想在它们的节点中生成一个带键 - 值对的二叉树.
在我的二叉树中,我想在一开始用一个insert方法实现节点,如果密钥小于当前节点的密钥,则该方法实现一个新的左节点.然后,如果已经有一个左节点,它将再次检查它.右/大节点插入遵循相同的逻辑.
我首先使用int类型编写了我的代码,因为在我使用泛型之前,我更容易测试我的代码(对我来说是新主题).它在使用时起作用,int但我不确定如何使用"<"或">"将两个泛型与自身进行比较.
public ListCell<Type> checkKey(Type key, ListCell<Type> checkCell) {
ListCell<Type> newCell = null;
if (key < checkCell.key && checkCell.left != null) {
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
我不知道它是否值得说,但我正在使用自编码列表创建我的二叉树.在上面你可以看到我当前的检查,但我现在无法将我的给定密钥与checkCell.key进行比较,因为它们不是数字.
所以我的一般问题是如何比较泛型中的键,如果它们比我在二叉树中的实现"更小"或"更大".
提前致谢
所以我查了这个问题并尝试过,但没有成功。
我的代码应该测试该方法是否通过使用Streams.
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
PrintStream myStream = new PrintStream(outStream);
System.setOut(myStream);
o.doSomething(); //printing out Hi
System.out.flush();
System.setOut(savedOldStream);//setting it back to System.out
assertEquals(outStream.toString(),"Hi");
Run Code Online (Sandbox Code Playgroud)
但是每次我运行 JUnit 时它都会失败。我也试过:assertTrue(outStream.toString().equals("Hi"));但这也不起作用。
这是 doSomething() 方法:
public void doSomething () {
System.out.println("Hi");
}
Run Code Online (Sandbox Code Playgroud)