I have a lib folder in my project folder called commons-lang3-3.5 because apparantly I needed to download that. I import like this
import org.apache.commons.lang3.*;
and I attempt to capitalize the first letter of each word with
WordUtils.capitalize(city);
and then I get the error
weatherproject.java:2: error: package org.apache.commons.lang3 does not exist
import org.apache.commons.lang3.*;
^
weatherproject.java:17: error: cannot find symbol
WordUtils.capitalize(city);
^
symbol: variable WordUtils
location: class weatherproject
Related
So I have this small Java project for study purposes where I am learning how to call functions from other java files and reference them with import. Everything works as inteded in Windows and I'm happy with it, but I just tried to work in the same project using Fedora and Ubuntu, and seems like the imports and package references just don't work.
I get this trying to compile main java file:
$ javac Ejercicio01.java
Ejercicio01.java:3: error: package actividad05.introduceDatos does not exist
import static actividad05.introduceDatos.Pregunta.*;
^
Ejercicio01.java:4: error: package actividad05.operaciones does not exist
import static actividad05.operaciones.Valores.*;
^
Ejercicio01.java:5: error: package actividad05.operaciones.algebraicas does not exist
import static actividad05.operaciones.algebraicas.Operaciones.*;
^
Ejercicio01.java:6: error: package actividad05.operaciones.geometricas does not exist
import static actividad05.operaciones.geometricas.Operaciones.*;
^
Ejercicio01.java:13: error: cannot find symbol
opcion = pideEntero("\nElija una opcion:"
^
symbol: method pideEntero(String)
location: class Ejercicio01
Ejercicio01.java:25: error: cannot find symbol
muestraPi();
^
symbol: method muestraPi()
location: class Ejercicio01
Ejercicio01.java:28: error: cannot find symbol
muestraValorAleatorio();
^
symbol: method muestraValorAleatorio()
location: class Ejercicio01
Ejercicio01.java:31: error: cannot find symbol
double num = pideDouble("Introduzca un valor: ");
^
symbol: method pideDouble(String)
location: class Ejercicio01
Ejercicio01.java:32: error: cannot find symbol
muestraSeno(num);
^
symbol: method muestraSeno(double)
location: class Ejercicio01
Ejercicio01.java:35: error: cannot find symbol
num = pideDouble("Introduzca un valor: ");
^
symbol: method pideDouble(String)
location: class Ejercicio01
Ejercicio01.java:36: error: cannot find symbol
muestraCoseno(num);
^
symbol: method muestraCoseno(double)
location: class Ejercicio01
Ejercicio01.java:39: error: cannot find symbol
muestraRaizCuadrada();
^
symbol: method muestraRaizCuadrada()
location: class Ejercicio01
Ejercicio01.java:42: error: cannot find symbol
double base = pideDouble("Introduzca base: ");
^
symbol: method pideDouble(String)
location: class Ejercicio01
Ejercicio01.java:43: error: cannot find symbol
double exp = pideDouble("Introduzca exponente: ");
^
symbol: method pideDouble(String)
location: class Ejercicio01
Ejercicio01.java:44: error: cannot find symbol
calculaPotencia(base, exp);
^
symbol: method calculaPotencia(double,double)
location: class Ejercicio01
15 errors
My main Java file references the other functions like this:
package actividad05.main;
import static actividad05.introduceDatos.Pregunta.*;
import static actividad05.operaciones.Valores.*;
import static actividad05.operaciones.algebraicas.Operaciones.*;
import static actividad05.operaciones.geometricas.Operaciones.*;
public class Ejercicio01 {
Meaning that Ejercicio01.java is in the folder src/actividad05/main, and the functions imported are in src/actividad05/introduceDatos/Pregunta.java etc, etc.
My first thought is that this is probably a classpath problem. Check where your source code is (.java files) and where you compile them to (.class files). Then check how you are trying to run the application, is the location of all the .class files on the classpath? In this case it has little to do with the OS difference, but with compilation and execution commands and file locations.
A problem which sometimes occurs when running compiled code on another OS is that the JDK or JRE has a different vendor or version. Are you using the Oracle or OpenJDK? Which version? If the version is different, even compilation might run into trouble because some Java features are different.
But the above output points in the direction of the first issue.
EDIT: the problem that the package is not found could mean that you don't have the .java file under the directories matching the package names, or that you are not calling the compiler on the root package (the source directory).
Check out: https://www.webucator.com/how-to/how-compile-packages-java.cfm
I am creating in my code a Java file, which I need to convert to a class. My file contains the following:
import com.company.tpch.TpchApplication;
import com.company.tpch.TpchApplicationBuilder;
import com.speedment.runtime.core.ApplicationBuilder;
public class java {
public void x() {
TpchApplication app = new TpchApplicationBuilder()
.withPassword("root")
.withLogging(ApplicationBuilder.LogType.STREAM)
.withLogging(ApplicationBuilder.LogType.APPLICATION_BUILDER)
.withSkipCheckDatabaseConnectivity()
.build();
}
}
When I try to compile the file with
javac -d . C:\Users\s\Desktop\demo\src\main\java\java.java
I have these errors:
import com.company.tpch.TpchApplication;
^
C:\Users\s\Desktop\demo\src\main\java\java.java:2: error: package com.company.tpch does not exist
import com.company.tpch.TpchApplicationBuilder;
^
C:\Users\s\Desktop\demo\src\main\java\java.java:3: error: package com.speedment.runtime.core does not exist
import com.speedment.runtime.core.ApplicationBuilder;
^
C:\Users\s\Desktop\demo\src\main\java\java.java:7: error: cannot find symbol
TpchApplication app = new TpchApplicationBuilder()
^
symbol: class TpchApplication
location: class java
C:\Users\s\Desktop\demo\src\main\java\java.java:11: error: package ApplicationBuilder does not exist
.withLogging(ApplicationBuilder.LogType.APPLICATION_BUILDER)
^
C:\Users\s\Desktop\demo\src\main\java\java.java:10: error: package ApplicationBuilder does not exist
.withLogging(ApplicationBuilder.LogType.STREAM)
^
symbol: class TpchApplicationBuilder
location: class java
How can I solve this?
You need to add all classes that are used to your command. Like this:
javac com/company/tpch/TpchApplication com/company/tpch/TpchApplicationBuilder java.java
Of course you have to change this according to your directory structure, since I don't know it.
Anyway I would recommend an IDE that compiles your whole project at once like IntelliJ/Eclipse and/or a dependency tool like Maven/Gradle.
Hi I am starting to learn junit but i Have following issues
C:\JUNIT_WORKSPACE>javac TestJunit.java TestRunner.java
TestJunit.java:1: error: package org.junit does not exist
import org.junit.Test;
^
TestJunit.java:2: error: package org.junit does not exist
import static org.junit.Assert.assertEquals;
^
TestJunit.java:2: error: static import only from classes and interfaces
import static org.junit.Assert.assertEquals;
^
TestRunner.java:1: error: package org.junit.runner does not exist
import org.junit.runner.JUnitCore;
^
TestRunner.java:2: error: package org.junit.runner does not exist
import org.junit.runner.Result;
^
TestRunner.java:3: error: package org.junit.runner.notification does not
exist
import org.junit.runner.notification.Failure;
^
TestJunit.java:4: error: cannot find symbol
#Test
^
symbol: class Test
location: class TestJunit
TestJunit.java:7: error: cannot find symbol
assertEquals("Junit is working fine",str);
^
symbol: method assertEquals(String,String)
location: class TestJunit
TestRunner.java:6: error: cannot find symbol
Result result = JUnitCore.runClasses(TestJunit.class);
^
symbol: class Result
location: class TestRunner
TestRunner.java:6: error: cannot find symbol
Result result = JUnitCore.runClasses(TestJunit.class);
^
symbol: variable JUnitCore
location: class TestRunner
TestRunner.java:7: error: cannot find symbol
for (Failure failure : result.getFailures()) {
^
symbol: class Failure
location: class TestRunner
11 errors
Source of learning: https://www.tutorialspoint.com/junit/junit_environment_setup.htm
I have the path:
%JUNIT_HOME%\junit-4.12
added to Path.
and the system variable
JUNIT_HOME | C:\JUNIT\
It looks like you are missing classpath in the run command.
What is a classpath in java
In Windows
Set the environment variable CLASSPATH to
%CLASSPATH%;%JUNIT_HOME%\junit4.12.jar;.;
Linux
export CLASSPATH = $CLASSPATH:$JUNIT_HOME/junit4.12.jar:.
Mac
export CLASSPATH = $CLASSPATH:$JUNIT_HOME/junit4.12.jar:.
I have downloaded my old project that was built on a different computer. I have Java environment installed on the current one. I have also downloaded junit to get things work. When I run my tests using build.rb and run_test.rb - files that worked previously, I receive lots of errors negating the entire code. Here's the example
$ ruby build.rb
shop_basket\Cashdesk.java:4: error: class CashDesk is public, should be
declared in a file named CashDesk.java
public class CashDesk{
^
1 error
shop_basketSpec\CashdeskTest.java:5: error: class CashDeskTest is public,
should be declared in a file named CashDeskTest.java
public class CashDeskTest{
^
shop_basketSpec\BasketTest.java:2: error: package org.junit does not exist
import org.junit.*;
^
shop_basketSpec\BasketTest.java:3: error: package org.junit does not exist
import static org.junit.Assert.*;
^
shop_basketSpec\CashdeskTest.java:2: error: package org.junit does not exist
import org.junit.*;
^
shop_basketSpec\CashdeskTest.java:3: error: package org.junit does not exist
import static org.junit.Assert.*;
^
shop_basketSpec\CashdeskTest.java:7: error: cannot find symbol
CashDesk cashdesk;
^
symbol: class CashDesk
location: class CashDeskTest
shop_basketSpec\CustomerTest.java:2: error: package org.junit does not exist
import org.junit.*;
^
shop_basketSpec\CustomerTest.java:3: error: package org.junit does not
exist
import static org.junit.Assert.*; ^
shop_basketSpec\ProductTest.java:2: error: package org.junit does not exist
import org.junit.*;
^
and there are more errors like this as if they concerned the entire code structure. I don't get why.
All the CLASSPATH etc seems to be set on my windows OS. The entire thing irritates as I cannot move with my coding. Thanks for help
Here's my set CLASSPATH
CLASSPATH image
The content of my ruby files
run_tests.rb
require 'find'
def find_valid_files
files = []
Find.find('bin') do |path|
files << path if path.include?(".class") && path.include?("Test")
end
return files
end
def run_tests(files)
for file in files
fileName = File.basename(file, ".*")
puts "Running #{fileName}"
system("java org.junit.runner.JUnitCore #{fileName}")
end
end
valid_files = find_valid_files()
Dir.chdir "bin"
run_tests(valid_files)
build.rb
require 'fileutils'
def filter_directories
excluded_directories = ["bin"]
all_files = Dir.glob('*')
return all_files.select do |file|
next if excluded_directories.include?(file)
File.directory?(file)
end
end
def create_bin
FileUtils.rm_rf('bin')
FileUtils.mkdir_p('bin')
end
def run_tests directories
for directory in directories
puts "building #{directory}"
system("javac -d bin #{directory}/*.java")
end
end
create_bin()
valid_directories = filter_directories()
run_tests(valid_directories)
For the first two errors relating to CashDesk and CashDeskTest - your file names have a lowercase 'd' (Cashdesk.java and CashdeskTest.java). The casing in the file name should match the actual class names as declared in the code. Fix that.
If you still see JUnit errors afterwards, check that you have a JUnit JAR on your classpath.
Errors Cashdesk.java:4: error: class CashDesk is public, should be
declared in a file named CashDesk.java are caused by inconsistency between .java file names and public class which it contains. In this exaple class CashDesk is saved in Cashdesk.java file - note d vs D in Desk.
The second bunch of errors error: package org.junit does not exist mean you should include JUnit library to the classpath of your project
As the subject line says, I couldn’t find the sources for the mojom payment package while compiling chromium for android.
Here are the list of errors.
../chrome/android/java/src/org/chromium/chrome/browser/mojo/ChromeServiceRegistrar.java:11: error: package org.chromium.mojom.payments does not exist
import org.chromium.mojom.payments.PaymentRequest;
^
../chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillAddress.java:9: error: package org.chromium.mojom.payments does not exist
import org.chromium.mojom.payments.ShippingAddress;
^
../chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillAddress.java:57: error: cannot find symbol
public ShippingAddress toShippingAddress() {
^
symbol: class ShippingAddress
location: class AutofillAddress
../chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java:13: error: package org.chromium.mojom.payments does not exist