Pierwszy projekt z Gradle

0

Cześć,
Uczę się Javy ze stronki hyperskill.org. Generalnie są tam do robienia projekty (podzielone na etapy). Jest też wtyczka do Intellij, dzięki czemu można ogarnąć wszystko z poziomu IDE. Postanowiłem jednak zrobić sobie wersję bez tej ich nakładki, czyli zrobiłem nowy projekt i wkleiłem kod. Musiałem w takim razie dodać bibliotekę gson, więc wrzuciłem compile 'com.google.code.gson+' do dependencies (tak jak w "oryginalnej" wersji). Wydawało się ok - "cannot find symbol" poznikało. Problemem jest taki, że jak to odpalam, to program stoi na "Runnig task main...". No, właściwie nie stoi, tylko jest cały czas jakby loading. Problemu upatruję w dodawaniu tej biblioteki, ponieważ "Hello world" z gradle bez dodawania niczego śmiga elegancko :D. Jaki jest tego powód?

Druga sprawa, że trochę grzebałem z tego powodu i w zakładce "Indexed Maven Repositories" zaktualizowałem repozytoria. Lokalne zaktualizowało się od razu, a "https://repo1.maven.org/maven2" wyrzucał Error. Trochę poklikałem i w końcu się udało... i ubyło mi kilka GB miejsca na dysku. W AppData/Local/Temp znalazłem pełno plików i folderów o nazwie "nexus-maven-repository-index...". Co to właściwie jest i czy jest mi potrzebne? Te pliki łącznie mają ponad 5 GB, co na moim małym dysku systemowym jest dla mnie bardzo cenne.

0

@szatkus: Nie, jeszcze nie znam tego tematu. "Surowy" projekt z gradle. Zrobiłem 3 klasy i przekleiłem swój kod. Dodałem jeszcze tą bibliotekę. Poza tym nie ma tam nic poza czystą Javą.

1
newbie342121 napisał(a):

Cześć,

Uczę się Javy ze stronki hyperskill.org. Generalnie są tam do robienia projekty (podzielone na etapy). Jest też wtyczka do Intellij, dzięki czemu można ogarnąć wszystko z poziomu IDE. Postanowiłem jednak zrobić sobie wersję bez tej ich nakładki, czyli zrobiłem nowy projekt i wkleiłem kod. Musiałem w takim razie dodać bibliotekę gson, więc wrzuciłem compile 'com.google.code.gson+' do dependencies (tak jak w "oryginalnej" wersji). Wydawało się ok - "cannot find symbol" poznikało. Problemem jest taki, że jak to odpalam, to program stoi na "Runnig task main...". No, właściwie nie stoi, tylko jest cały czas jakby loading. Problemu upatruję w dodawaniu tej biblioteki, ponieważ "Hello world" z gradle bez dodawania niczego śmiga elegancko :D. Jaki jest tego powód?

Szczerze mówiąc opis słowny brzmi dość chaotycznie, dobrze by było gdybyś po prostu wrzucił swój plik build.gradle, to co wypluwają logi, oczekiwany rezultat i tak dalej :P

Druga sprawa, że trochę grzebałem z tego powodu i w zakładce "Indexed Maven Repositories" zaktualizowałem repozytoria. Lokalne zaktualizowało się od razu, a "https://repo1.maven.org/maven2" wyrzucał Error. Trochę poklikałem i w końcu się udało... i ubyło mi kilka GB miejsca na dysku. W AppData/Local/Temp znalazłem pełno plików i folderów o nazwie "nexus-maven-repository-index...". Co to właściwie jest i czy jest mi potrzebne? Te pliki łącznie mają ponad 5 GB, co na moim małym dysku systemowym jest dla mnie bardzo cenne.

Nie mam pojęcia co się kryje pod wyrzucał Error, ale jeśli zindeksowałeś sobie Maven Central na lokalnym dysku to przypuszczam, że te 5GB może zajmować właśnie indeks zawartości centrala ;)

Pokaż ten swój build.gradle najlepiej. Jakie masz zdefiniowane repozytoria i zależności dla projektu w Gradle? Spodziewałbym się czegoś w rodzaju:

// tutaj są różne inne rzeczy

repositories {
    mavenCentral() // deklarujesz Maven Central jako swoje repozytorium
}

dependencies {
    implementation 'foo.bar.baz:baz:1.2.3' // jakaś zależność dostępna w Maven Central
}

// tutaj też mogą być różne inne rzeczy
0

Odpuściłem to już, ale tak jak mówiłem, zrobiłem czysty projekt wrzuciłem tylko compile 'com.google.code.gson+' do dependencies. Więc pewnie wyglądało to tak:

plugins {
    id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
    compile 'com.google.code.gson:gson:+'
}

test {
    useJUnitPlatform()
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1