Ich bin ein Neuling mit Gradle und ich habe ein Abhängigkeitsproblem. Ich habe die folgende Projektstruktur:
%Vor% Sowohl MyAppPro
als auch MyAppFree
hängen von MyAppLibrary
ab, was von ThirdPartyLibraryWrapper
abhängt. Wie der Name schon sagt, ist ThirdPartyLibraryWrapper
ein Wrapper für eine externe Bibliothek, nämlich ThirdPartyLibrary.aar
.
Dies ist meine Konfiguration:
build.gradle MyAppPro
%Vor%build.gradle MyAppLibrary
%Vor%build.gradle ThirdPartyLibraryWrapper
%Vor%Wenn die Gradle-Synchronisierung abgeschlossen ist, habe ich diesen Fehler:
%Vor%Kann mir jemand helfen herauszufinden, wo das Problem liegt?
Die anderen Projekte sehen, dass das :ThirdPartyLibraryWrapper
-Projekt von einem Artefakt namens ThirdPartyLibrary-0.1.0:aar
abhängt. Java-Bibliotheken (und Android-Bibliotheken) bündeln ihre eigenen Abhängigkeiten nicht miteinander, sondern veröffentlichen lediglich eine Liste ihrer Abhängigkeiten. Das konsumierende Projekt ist dann verantwortlich für das Laden nicht nur der Bibliothek, von der es direkt abhängt, sondern von allen Bibliotheken, auf die diese Bibliothek angewiesen ist.
Der Nettoeffekt davon ist, dass :MyAppFree
in :ThirdPartyLibraryWrapper
geladen wird, dann sieht man, dass :ThirdPartyLibraryWrapper
von ThirdPartyLibrary-0.1.0:aar
abhängt und somit versucht, das ebenfalls zu laden. % Co_de% weiß jedoch nicht, wo :MyAppFree
lebt .. und so schlägt es fehl.
Die Lösung wird sein, ähnliche ThirdPartyLibrary-0.1.0:aar
Blöcke in all Ihren anderen Projekten zu platzieren. Versuchen Sie Folgendes:
Wenn Sie die repositories
-Methode verwenden, müssen Sie keine Pfade mehr kodieren und verwenden stattdessen die Gradle-DSL, um den Dateisystempfad aufzulösen, indem Sie das Projekt nachschlagen und die Auflösung dynamisch durchführen lassen.
Tags und Links android android-gradle
Ich bin nur beginnend, also bitte vergib mir. Ich habe einen guten Überblick über CodeIgniter, also verstehe ich, was vor sich geht. Ich stelle jedoch fest, dass mein CSRF-Token leer ist, wenn ich ein Formular erstelle. Ich arbeite durch die Laracasts-Videos, um den Laravel-Workflow zu ermüden.
myfile.blade.php
%Vor%Hier ist, was ich bekomme, wenn ich die Quelle ansehe:
%Vor%Ich habe das Verzeichnis config durchgesehen, sehe aber nichts, csrf zu aktivieren. Gibt es irgendwo eine zusätzliche Einstellung, die ich aktualisieren muss?
Danke für Ihre Vorschläge.
BEARBEITEN
Auch das gibt mir ein leeres verstecktes Eingabefeld:
%Vor%BEARBEITEN
So sieht mein Controller aus:
%Vor%Also sieht mein aktuelles Formular-Tag so aus:
%Vor%Wenn ich absende, kann ich die json-Antwort sehen - der Token ist offensichtlich leer.
%Vor%Es sollte
sein %Vor%Ich habe das Problem des HtmlService-Anbieters behoben. 5.2 Version entfernt Illuminate und add kollektiv folgen dem Schritt, um das Problem zu lösen:
%code%
Dann können Sie dieses Formular verwenden.
Wenn Sie eine Anmeldeseite haben und die Sitzung mit folgendem Befehl löschen möchten:
%Vor%Vergessen Sie nicht, dass dies auch das csrf-Token bereinigt, bevor es in die Ansicht eingefügt werden kann
Dies ist ein Konfigurationsproblem. Sie müssen den App-Schlüssel in Ihrer Konfigurationsdatei %code% auf eine Zeichenfolge mit 32 Zeichen setzen oder artisan cli %code% verwenden, um den Schlüssel für Sie zu generieren, damit Sie das CSRF-Token verwenden können.
Stellen Sie außerdem sicher, dass Sie Routen einschließen, die das CSRF-Token in der Gruppenroute %code% verwenden.
Sie können URIs ausschließen, indem Sie ihre Routen außerhalb der Web-Middleware-Gruppe definieren, die in der Standarddatei routes.php enthalten ist, oder indem Sie die URIs der Eigenschaft $ exert der VerifyCsrfToken-Middleware hinzufügen: Ссылка
Die Laravel Grundlegende Reihe ist für Laravel 5.0, also hast du ein paar Optionen. Sie können Laravel 5.0 installieren, um mit dieser Serie fortzufahren. Um L5.0 zu installieren, müssen Sie diesen Befehl ausführen:
%Vor%Wenn du Laravel 5.2 benutzen willst (was ich empfehlen würde und Jeffrey Way wird höchstwahrscheinlich bald eine Serie veröffentlichen), gibt es einige zusätzliche Dinge, die du beachten solltest.
Stellen Sie zuerst alle Ihre Routen in eine "Web" -Middleware-Gruppe wie folgt:
%Vor%In der Vergangenheit gab es mehrere Middlewares, die bei jeder Anfrage standardmäßig ausgeführt wurden. In 5.2 ist dies nicht mehr der Fall. Zum Beispiel wird das Token in der Sitzung gespeichert, aber in 5.2 werden Dinge wie die Middleware "StartSession" nicht automatisch angewendet. Daher muss die "Web" -Middleware auf Ihre Routen angewendet werden. Der Grund für diese Änderung in 5.2:
Middleware-Gruppen ermöglichen es Ihnen, mehrere Routen-Middleware unter einem einzigen, komfortablen Schlüssel zu gruppieren, sodass Sie einer Route mehrere Middleware gleichzeitig zuweisen können. Dies kann beispielsweise nützlich sein, wenn Sie eine Web-Benutzeroberfläche und eine API in derselben Anwendung erstellen. Sie können die Session- und CSRF-Routen in eine %code% -Gruppe und vielleicht den Ratenbegrenzer in der %code% -Gruppe gruppieren.
Auch in der Laravel Fundamental-Serie zieht Jeffrey das "illuminate / html" -Paket ein, aber jetzt benutzen die meisten Leute das Laravel-Sammelpaket. Sie behandeln eine Menge der Laravel-Pakete, die aus dem Kern herausgenommen werden. Als Ergebnis würde ich das "illuminate / html" -Paket entfernen. Entfernen Sie in Ihrer %code% -Datei %code% (oder was auch immer im Abschnitt require steht). Entfernen Sie außerdem den entsprechenden Dienstanbieter und erstellen Sie Fassaden, die Sie Ihrer %code% -Datei hinzugefügt haben.
Um die Laravel-Kollektivversion zu installieren, fügen Sie diese in Ihrer %code% -Datei hinzu: %code% . Führen Sie dann %code% aus. Sobald dies geschehen ist, fügen Sie dies in Ihrer %code% -Datei Ihrem Provider-Array hinzu:
%Vor%und fügen Sie dies Ihrem Alias-Array hinzu:
%Vor%Ich hoffe, ich verpasse nichts anderes.