IntelliJ a Spring - brakująca biblioteka w folderze Maven Dependencies

0

Cześć.
Próbując się uczyć Springa sięgnąłem po kurs Artura Owczarka z YT. Używam Intellija i problem pojawił się, gdy doszedłem do 26 minuty:

wtedy pojawił się problem że nie mam jednej z biblioteki (którą on ma w folderze Maven Dependencies), jak rozwiązać ten problem i skąd ściągnąć te biblioteki i do jakiego folderu je wkleić? Drugą sprawą jest, jak się tworzy w intelliju pliki z rozszerzeniem .xml?

0

Ad. 1 wrzuć odpowiednią zależność do pom.xml i załaduj zmiany (import changes powinno wyskoczyć o ile nie zaznaczyłeś, że mają się zaciągać automatycznie) - masz to około 7 minuty filmu
Ad. 2 ja mam PPM -> new --> XML Configuration file -> Spring config, ewentualnie zrób po prostu new File i nazwij go jako something.xml, IntelliJ ładnie ogarnie, że to plik XML

0

Nadal nic. Coś tam się ściągnęło, ale nadal brakuje mi tych bibliotek. A bez tych bibliotek ani rusz z nauką springa.

0

a to nie jest tak że masz nieodpowiednią wersję IntelliJ? (wiem że są jakieś ograniczenia w darmowym IntelliJ ale nie wiem jakie dokładnie bo w springu nic nigdy nie pisałem)

0

@Aisekai jak nie podasz nam jakichś szczegółow to niestety ale nic nie poradzimy. Masz ten kod gdzies na githubie? Możesz zrobić tam mvn install i powiedzieć nam jakie błędy się pojawiają? Możesz chociaż pokazać pom.xml i napisać których bibliotek ci niby brakuje?

0

Nie mam na githubie. Na razie więc przepisuję słowo w słowo co jest zawarte w tutorialu p. Owczarka. Problem się pojawia taki, że ja w ogóle nie mam takiego pliku jak MavenDependencies.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>do.nauki</groupId>
    <artifactId>naukaSpring</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies><dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>4.3.6.RELEASE</version>
    </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.3.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.3.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.3.6.RELEASE</version>
        </dependency>
    </dependencies>

</project>

Na razie brakuje mi bibliotek w których zawarte są ApplicationContext i ClassPathXMLApplicationContext

1

Widać że przepisujesz ze zrozumieniem :D :D 4 razy deklarujesz tą samą zależność spring-test Podczas gdy już np. tutaj w video które linkujesz https://youtu.be/jXnFnl5OdHI?t=527 jest deklarowanie zależności spring-context.
Na video widac tez że nie ma zadnego pliku MavenDependencies tylko ze plik nazywa się pom.xml...

0

Nie plik miałem na myśli tylko folder :D Ale nieważne. Natomiast zrobiłem tak jak było w poradniku, skopiowałem ze strony mvnrepository ( np tutaj https://mvnrepository.com/artifact/org.springframework/spring-context/4.3.6.RELEASE ) dependency i to co jest pomiędzy nimi - nie wiem jakim cudem zamiast tego, do pom.xml wrzuciło mi 4x spring-test. Dzięki wszystkim za pomoc, w sumie teraz się będę zastanawiał czemu coś takiego się stało, że mimo że skopiowałem dobrą część i tak się ona podmieniła na 4x spring-test. Dzięki i temat do zamknięcia

0

Edit: to niestety nie koniec. Wczoraj to się kompilowało i działało tak jak na tutorialu, jednakże dziś - intellij wyrzuca błędy takie jak:
-org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 74; SchemaLocation: schemaLocation value = 'http://www.springframework.org/schema/beans/' must have even number of URI's.

-Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 4 in XML document from class path resource [konf.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 74; cvc-elt.1: Cannot find the declaration of element 'beans'.

-Caused by: org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 74; cvc-elt.1: Cannot find the declaration of element 'beans'

i około 3 inne, jednakże to co intellij wypisuje nie mieści się w oknie konsolowym.

Plik xml:

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans">
    <bean id="mojLogger" class="LoggerImpl"></bean>
    <bean id="repozytoriumUzytkownikow" class="UsersRepositoryImpl">
        <property name="logger" ref="mojLogger"></property>
    </bean>


</beans>

Bez spacji i entera na początku
0

Juz widzę jak działało...

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-4.1.xsd">

tkaie cos tam daj na początku. a <?xml version="1.0" encoding="UTF-8"?> wywal

0

Czyli taki "uniwersalny" plik .xml do konfiguracji beanow wyglądałby tak jak to co ty napisałeś, + </beans>? I pomiedze <beans> i </beans> wstawialbym beany?

0

Nie bo są też inne rzeczy które mogą być potrzebne -> jpa, transakcje, aop. Nie ma czegoś takie jak "uniwersalne" bo tam laduje to co jest potrzebne.
Poza tym tak jak juz mówiłem, tego się generalnie nie stosuje chyba że jest to z jakiegoś powodu konieczne.

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