diff --git a/src/main/java/fr/jetoile/sample/component/SolrBootstrap.java b/src/main/java/fr/jetoile/sample/component/SolrBootstrap.java index dac56f7c..239c3471 100644 --- a/src/main/java/fr/jetoile/sample/component/SolrBootstrap.java +++ b/src/main/java/fr/jetoile/sample/component/SolrBootstrap.java @@ -35,12 +35,15 @@ public enum SolrBootstrap implements Bootstrap { } build(); } - build(); } private void build() { try { - solrLocalCluster = new SolrEmbeddedServer(getClass().getClassLoader().getResource(solrDirectory).getFile(), solrCollection); + String path = getClass().getClassLoader().getResource(solrDirectory).getFile(); + if (System.getProperty("os.name").startsWith("Windows")) { + path = path.substring(1); + } + solrLocalCluster = new SolrEmbeddedServer(path, solrCollection); } catch (ParserConfigurationException | IOException | SAXException e) { LOGGER.error("unable to bootstrap solr", e); } diff --git a/src/main/java/fr/jetoile/sample/component/solr/SolrEmbeddedServer.java b/src/main/java/fr/jetoile/sample/component/solr/SolrEmbeddedServer.java index 80869265..0c7f6d85 100644 --- a/src/main/java/fr/jetoile/sample/component/solr/SolrEmbeddedServer.java +++ b/src/main/java/fr/jetoile/sample/component/solr/SolrEmbeddedServer.java @@ -64,6 +64,9 @@ public final EmbeddedSolrServer createPathConfiguredSolrServer(String path) thro if (StringUtils.isBlank(solrHomeDirectory)) { solrHomeDirectory = getURL(path).getPath(); + if (System.getProperty("os.name").startsWith("Windows")) { + solrHomeDirectory = solrHomeDirectory.substring(1); + } } solrHomeDirectory = URLDecoder.decode(solrHomeDirectory, "utf-8"); diff --git a/src/main/java/fr/jetoile/sample/exception/BootstrapException.java b/src/main/java/fr/jetoile/sample/exception/BootstrapException.java index a52c4fac..f8556048 100644 --- a/src/main/java/fr/jetoile/sample/exception/BootstrapException.java +++ b/src/main/java/fr/jetoile/sample/exception/BootstrapException.java @@ -1,9 +1,6 @@ package fr.jetoile.sample.exception; import org.apache.commons.configuration.ConfigurationException; -import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer; - -import javax.xml.parsers.ParserConfigurationException; public class BootstrapException extends Exception { public BootstrapException(String s, ConfigurationException e) { diff --git a/src/test/java/fr/jetoile/sample/component/HdfsBootstrapTest.java b/src/test/java/fr/jetoile/sample/component/HdfsBootstrapTest.java index 5e78c88f..d39b8624 100644 --- a/src/test/java/fr/jetoile/sample/component/HdfsBootstrapTest.java +++ b/src/test/java/fr/jetoile/sample/component/HdfsBootstrapTest.java @@ -2,6 +2,7 @@ import com.github.sakserv.minicluster.config.ConfigVars; +import com.github.sakserv.minicluster.util.WindowsLibsUtils; import fr.jetoile.sample.exception.BootstrapException; import fr.jetoile.sample.Utils; import org.apache.commons.configuration.Configuration;