我在 spring 和 spark 工作 OLAP,然后我发现 spring 3.12 使用 cglib 2.2.2,spark 使用 3.0,那么我怎样才能同时执行它们呢?
一些配置可以用 maven 完成吗?
<dependency>
<groupId>com.commons.algorithm</groupId>
<artifactId>simulator</artifactId>
<version>1.0</version>
</dependency>
<dependency> spring works with this
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2.2</version>
</dependency>
<!--dependency> spark requires this
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.0</version>
</dependency-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.9.3</artifactId>
<version>0.8.0-incubating</version>
<type>jar</type>
</dependency>
代码:
@SparkParameter(taskJarLocation = {"analysis/1.0/analysis-1.0.jar"})
@SparkCassandraParameter (keySpace="commons10", port = 9160)
@RunWith(value = Parameterized.class)
public class PerformanceExecutor {
private Simulator simulator;
private Analysis analysis;
private Algorithm algorithm;
public PerformanceExecutor(Simulator simulator, Analysis analysis, Algorithm algorithm){
this.simulator = simulator;
this.analysis = analysis;
this.algorithm = algorithm;
}
@Parameters
public static Collection<Object[]> data() throws ClassNotFoundException, IOException {
ApplicationContext ctx = new AnnotationConfigApplicationContext(TestConfiguration.class);
CommonDao commonDao = ctx.getBean(CommonDao.class);
OpinionDao opinionDao = ctx.getBean(OpinionDao.class);
DataBaseAdaptor adaptor = new DataBaseAdaptorImpl(opinionDao, commonDao, 1);
SparkRddHelper helper = new SparkRddHelper();
Object[][] data = new Object[][]{{new RegisterSimulation(), new CommonRelationAnalysisTask(helper), new CommonRenewAlgorithm(adaptor)}};
return Arrays.asList(data);
}
@Test
public void pushTest() throws Exception {
simulator.start("src/main/resources/userCreated/users2.txt", 10); // <-- spring required
analysis.runAnalysis(); // <-- spark required
algorithm.process();
}
}