given the following code in java, when compiling it u have a lot of errors :
Main.java:1: error: package com.google.common.base does not exist import com.google.common.base.Preconditions; ^
Main.java:2: error: package com.google.common.collect does not exist import com.google.common.collect.Lists; ^
Main.java:3: error: package org.ros.exception does not exist import org.ros.exception.RosRuntimeException; ^
Main.java:4: error: package org.ros.internal.loader does not exist import org.ros.internal.loader.CommandLineLoader; ^
Main.java:5: error: package org.ros.node does not exist import org.ros.node.DefaultNodeMainExecutor; ^
Main.java:6: error: package org.ros.node does not exist import org.ros.node.NodeConfiguration; ^
Main.java:7: error: package org.ros.node does not exist import org.ros.node.NodeMainExecutor;
I run it via IntelliJ. Does anyone know why it does not work?
import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import org.ros.exception.RosRuntimeException; import org.ros.internal.loader.CommandLineLoader; import org.ros.node.DefaultNodeMainExecutor; import org.ros.node.NodeConfiguration; import org.ros.node.NodeMainExecutor; // This class will run a publisher and subscriber, and relay data between them. public class Main { static private Talker pubNodeMain; static private Listener subNodeMain; public static void main(String[] argv) throws Exception { // Set up the executor for both of the nodes NodeMainExecutor nodeMainExecutor = DefaultNodeMainExecutor.newDefault(); // Load the publisher String[] pubArgv = {"Talker"}; CommandLineLoader pubLoader = new CommandLineLoader(Lists.newArrayList(pubArgv)); String nodeClassName = pubLoader.getNodeClassName(); System.out.println("Loading node class: " + pubLoader.getNodeClassName()); NodeConfiguration pubNodeConfiguration = pubLoader.build(); try { pubNodeMain = (Talker) pubLoader.loadClass(nodeClassName); } catch (ClassNotFoundException e) { throw new RosRuntimeException("Unable to locate node: " + nodeClassName, e); } catch (InstantiationException e) { throw new RosRuntimeException("Unable to instantiate node: " + nodeClassName, e); } catch (IllegalAccessException e) { throw new RosRuntimeException("Unable to instantiate node: " + nodeClassName, e); } Preconditions.checkState(pubNodeMain != null); nodeMainExecutor.execute(pubNodeMain, pubNodeConfiguration); // Load the subscriber String[] subArgv = {"Listener"}; CommandLineLoader subLoader = new CommandLineLoader(Lists.newArrayList(subArgv)); nodeClassName = subLoader.getNodeClassName(); System.out.println("Loading node class: " + subLoader.getNodeClassName()); NodeConfiguration subNodeConfiguration = subLoader.build(); try { subNodeMain = (Listener) subLoader.loadClass(nodeClassName); } catch (ClassNotFoundException e) { throw new RosRuntimeException("Unable to locate node: " + nodeClassName, e); } catch (InstantiationException e) { throw new RosRuntimeException("Unable to instantiate node: " + nodeClassName, e); } catch (IllegalAccessException e) { throw new RosRuntimeException("Unable to instantiate node: " + nodeClassName, e); } Preconditions.checkState(subNodeMain != null); nodeMainExecutor.execute(subNodeMain, subNodeConfiguration); } }
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>11.0.2</version> </dependency>
by adding dependency in pom.xml I was able to solve the problem
Add this dependency to your Gradle file
compile "com.google.guava:guava:16+"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With