我在UBUNTU.目前安装的JDK版本是:
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud)
正在安装的配置是:
sudo update-alternatives --config java
There is only one alternative in link group java
(providing /usr/bin/java): /usr/lib/jvm/java-7-oracle/jre/bin/java
Run Code Online (Sandbox Code Playgroud)
我下载了JDK 1.8的最新tar.gz存档.
如何从tar.gz轻松安装JDK 1.8覆盖/卸载当前安装的JDK 1.7?甚至没有明确使用tar.gz.
这个问题即将阐明传递依赖是什么以及它在Maven中如何在非常高的层次上运行.
我的定义:在A - > B - > C之类的依赖树中,C是A的传递依赖.假设乙已范围编译内甲.
如果c ^具有范围编译内乙,则宣告乙作为依赖性甲足以建立甲使用Maven.但是,如果Ç已范围提供内乙然后,当Maven构建一个,该建筑将不会自动编译一个对Ç除非一个声明ç它的依赖中.
它是否正确?
在通常使用@Mock
和@InjectMocks
注释的模拟中,测试中的类应该运行@RunWith(MockitoJUnitRunner.class)
.
@RunWith(MockitoJUnitRunner.class)
public class ReportServiceImplTestMockito {
@Mock
private TaskService mockTaskService;
@InjectMocks
private ReportServiceImpl service;
// Some tests
}
Run Code Online (Sandbox Code Playgroud)
但在某些例子中,我看到@RunWith(PowerMockRunner.class)
被使用:
@RunWith(PowerMockRunner.class)
public class Tests {
@Mock
private ISomething mockedSomething;
@Test
public void test1() {
// Is the value of mockedSomething here
}
@Test
public void test2() {
// Is a new value of mockedSomething here
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以指出它的差异是什么时候我想用一个而不是另一个?
我在 Ubuntu 上,我在我的~/.bashrc
文件中设置了以下内容:
export JAVA_HOME=/opt/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
进而:
echo $JAVA_HOME
>/opt/jdk1.8.0_91
java -version
>java version "1.8.0_91"
>Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
>Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud)
乍一看,该命令sudo update-alternatives --config java
并未显示我手动安装的 Java,因此我将其安装到带有sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_91 1
.
现在,该命令sudo update-alternatives --config java
会下拉所有正在安装的 Java 版本的列表,如下所示:
0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode
1 /opt/jdk1.7.0_51/bin/java 1 manual mode
* 2 /opt/jdk1.8.0_91 1 manual mode
3 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
4 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 …
Run Code Online (Sandbox Code Playgroud) 我知道HBASE是一个柱状数据库,它将表的结构化数据按列而不是按行存储到HDFS中.我知道Spark可以从HDFS读/写,并且有一些用于Spark的HBASE连接器现在也可以读写HBASE表.
问题:
1)在HBASE之上将Spark分层而不是单独使用HBASE带来了哪些附加功能?它只取决于程序员的能力,还是有任何性能原因可以做到这一点?Spark有什么东西可以做,HBASE完全不能做?
2)从上一个问题出发,何时应该在HDFS和SPARK之间添加HBASE而不是直接使用HDFS?
我正在阅读Spring MVC 中的注释文档@RequestParam
.
名称和值属性有什么区别?
文件说:
value:name()的别名.
name:要绑定的请求参数的名称.
名称()的别名是什么意思?
假设你有:
http://localhost:8080/springmvc/hello/101?param1=10¶m2=20
public String getDetails(
@RequestParam(value="param1", required=true) String param1,
@RequestParam(value="param2", required=false) String param2){
...
}
Run Code Online (Sandbox Code Playgroud)
例如,value="param1"
是要绑定的request-parameter的名称,而是要绑定String param1
的对象.
我怎么能name
在这里使用属性?
JMS 会话到底是什么意思?
JMS 会话可以或不可以“交易”是什么意思?
JMS 会话可以带有或不带有“自动确认”是什么意思?
我知道Maven包含了本地存储库中构建的结果(工件安装在其下~/.m2/repository/
),但它也会在target
旁边的文件夹中输出已编译的类src
.
本地存储库中的内容与target
文件夹中的内容之间有什么区别吗?
最近我使用以下类将Spring Security添加到Spring Boot项目中:
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MySecurityConfig {
}
Run Code Online (Sandbox Code Playgroud)
因此,默认情况下,我的所有URL现在都受到身份验证和自生密码的保护.
问题是我用于对控制器进行单元测试的@WebMvcTest类中的所有测试:
@RunWith(SpringRunner.class)
@WebMvcTest(SomeController.class)
public class SomeControllerTest {...}
Run Code Online (Sandbox Code Playgroud)
由于缺乏授权,现在到处都失败了.
问题:我可以告诉@Test方法忽略授权,以便它们像以前一样继续成功吗?
如何防止在 特定的@WebMvcTest单元测试类中选择@EnableWebSecurity配置类?
我希望已经存在的测试能够继续进行并稍后单独测试身份验证功能.
到目前为止,我已尝试在测试类中使用嵌套的配置类,以排除安全配置:
@RunWith(SpringRunner.class)
@WebMvcTest(SomeController.class)
public class SomeControllerTest {
@Configuration
@EnableAutoConfiguration(exclude = { SecurityAutoConfiguration.class})
static class ContextConfiguration { }
....}
Run Code Online (Sandbox Code Playgroud)
但似乎没有用.
注意:我使用的是Spring Boot 1.5.8
在 Hadoop 算法的驱动程序方法中的某个时刻,我们将作业链接到设置为 Mapper 和Reducer 的类的引用。例如:
job.setMapperClass(MyMapper.class);
job.setReducerClass(MyReducer.class);
Run Code Online (Sandbox Code Playgroud)
通常驱动程序方法是main
映射器和减速器作为内部静态类实现。
假设MyMapper.class
和MyReducer.class
是 的内部静态类,MyClass.class
并且驱动程序方法是 的 main MyClass.class
。有时我会看到在上面两行之后添加了以下行:
job.setJarByClass(Myclass.class);
Run Code Online (Sandbox Code Playgroud)
此配置步骤的含义是什么以及何时有用或强制?
就我而言(我有单节点集群安装),如果删除此行,我可以继续正确运行作业。为什么?
java ×5
hadoop ×2
maven ×2
spring ×2
spring-mvc ×2
ubuntu ×2
apache-spark ×1
command-line ×1
dependencies ×1
hbase ×1
hdfs ×1
jar ×1
java-8 ×1
jms ×1
jms-topic ×1
jmstemplate ×1
linux ×1
mocking ×1
mockito ×1
powermockito ×1
spring-boot ×1
spring-jms ×1
unix ×1